diff --git a/Makefile b/Makefile
index f63f3c1..4d53d51 100644
--- a/Makefile
+++ b/Makefile
@@ -69,7 +69,6 @@ clean:
find . -name "*.link" -delete
find . -name "*.meta" -delete
find . -name "*.import.*" -delete
- rm -rf README.txt
rm -rf dist
rm -rf test
rm -rf deps
diff --git a/README.md b/README.md
index 5981f02..f3efda2 100644
--- a/README.md
+++ b/README.md
@@ -124,9 +124,6 @@ as compiler.
- Support for more implementations
- - gerbil
- - Dont know how to run this thing yet :D
- - r7rs
- husk
- Dont know how to add directories to load path yet, might not be
implemented
@@ -251,11 +248,6 @@ before running it. For example:
If you are using Chicken you should propably read the next section too, you
will most propably run into it soon.
-### Mosh
-
-
-Only allows one loadpath. No workarounds exist currently in compile-r7rs.
-
### mit-scheme
diff --git a/libs/data.sld b/libs/data.sld
index 6c715a1..ec2b040 100644
--- a/libs/data.sld
+++ b/libs/data.sld
@@ -123,486 +123,460 @@
,(string-cut-from-end library-file 4))))))
(command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
(apply string-append `("gsc"
- " "
- ,(util-getenv "COMPILE_R7RS_GAMBIT")
- " "
- "-:search="
- ,@(map (lambda (item)
- (string-append item ""))
- (append prepend-directories append-directories))
- " "
- "-o"
- " "
- ,output-file
- " "
- "-exe -nopreload"
- " "
- ,input-file))
+ " "
+ ,(util-getenv "COMPILE_R7RS_GAMBIT")
+ " "
+ "-:search="
+ ,@(map (lambda (item)
+ (string-append item ""))
+ (append prepend-directories append-directories))
+ " "
+ "-o"
+ " "
+ ,output-file
+ " "
+ "-exe -nopreload"
+ " "
+ ,input-file))
#;(apply string-append
- `("echo '#!/usr/bin/env -S gsi-script -f -:search="
+ `("echo '#!/usr/bin/env -S gsi-script -f -:search="
+ ,@(map (lambda (item)
+ (string-append item "/:"))
+ (append prepend-directories append-directories))
+ "'"
+ " "
+ ">"
+ " "
+ ,(string-append (string-cut-from-end input-file 4) ".tmp")
+ " "
+ "&&"
+ " "
+ "cat"
+ " "
+ ,input-file
+ " "
+ ">>"
+ " "
+ ,(string-append (string-cut-from-end input-file 4) ".tmp")
+ " "
+ "&&"
+ " "
+ "gsc"
+ " "
+ ,(util-getenv "COMPILE_R7RS_GAMBIT")
+ " "
+ "-:search="
+ ,@(map (lambda (item)
+ (string-append item "/"))
+ (append prepend-directories append-directories))
+ " "
+ "-o"
+ " "
+ ,output-file
+ " "
+ "-exe -nopreload"
+ " "
+ ,@(map (lambda (item) (string-append item "/ ")) prepend-directories)
+ " "
+ ,@(map (lambda (item) (string-append item "/ ")) append-directories)
+ " "
+ ,(string-append (string-cut-from-end input-file 4) ".tmp")
+ ;,input-file
+ )))))
+ (gauche
+ (type . interpreter)
+ (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
+ (apply string-append
+ `("gosh"
+ " "
+ ,(util-getenv "COMPILE_R7RS_GAUCHE")
+ " "
+ "-r7"
+ " "
+ ,@(map (lambda (item)
+ (string-append "-I" " " item " "))
+ prepend-directories)
+ ,@(map (lambda (item)
+ (string-append "-A" " " item " "))
+ append-directories)
+ " "
+ ,input-file)))))
+ (guile
+ (type . interpreter)
+ (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
+ (apply string-append
+ `("guile"
+ " "
+ ,(util-getenv "COMPILE_R7RS_GUILE")
+ " "
+ ,(if r6rs? "--r6rs" "--r7rs")
+ " "
+ ,@(map (lambda (item)
+ (string-append "-L" " " item " "))
+ prepend-directories)
+ ,@(map (lambda (item)
+ (string-append "-L" " " item " "))
+ append-directories)
+ " "
+ ,input-file)))))
+ (husk
+ (type . compiler)
+ (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
+ (apply string-append
+ `("huskc"
+ " "
+ ,(util-getenv "COMPILE_R7RS_HUSK")
+ " "
+ "-o"
+ " "
+ ,output-file
+ " "
+ ;,@(map (lambda (item) (string-append "-L" " " item " ")) prepend-directories)
+ ;,@(map (lambda (item) (string-append "-L" " " item " ")) append-directories)
+ " "
+ ,input-file)))))
+ (ikarus
+ (type . interpreter)
+ (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
+ (apply string-append
+ `("IKARUS_LIBRARY_PATH="
+ ,@(map (lambda (item)
+ (string-append item ":"))
+ prepend-directories)
+ ,@(map (lambda (item)
+ (string-append item ":"))
+ append-directories)
+ " "
+ "ikarus"
+ " "
+ ,(util-getenv "COMPILE_R7RS_IKARUS")
+ " "
+ "--r6rs-script"
+ " "
+ ,input-file)))))
+ (ironscheme
+ (type . interpreter)
+ (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
+ (apply string-append
+ `("ironscheme"
+ " "
+ ,(util-getenv "COMPILE_R7RS_IRONSCHEME")
+ " "
+ ,@(map (lambda (item)
+ (string-append "-I \"" item "\" "))
+ prepend-directories)
+ ,@(map (lambda (item)
+ (string-append "-I \"" item "\" "))
+ append-directories)
+ " "
+ ,input-file)))))
+ (kawa
+ (type . interpreter)
+ (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
+ (apply string-append
+ `("kawa"
+ " "
+ ,(util-getenv "COMPILE_R7RS_KAWA")
+ " "
+ "-Dkawa.import.path=\""
+ ,@(map (lambda (item)
+ (string-append item "/*.sld:"))
+ (append prepend-directories append-directories))
+ "\" "
+ "--r7rs"
+ " "
+ ,input-file)))))
+ (larceny
+ (type . interpreter)
+ (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
+ (apply string-append
+ `("larceny"
+ ,(util-getenv "COMPILE_R7RS_LARCENY")
+ " "
+ "-nobanner"
+ " "
+ "-quiet"
+ " "
+ "-utf8"
+ " "
+ ,(if r6rs? "-r6rs" "-r7rs")
+ " "
+ ,@(map (lambda (item)
+ (string-append "-I " item " "))
+ prepend-directories)
+ ,@(map (lambda (item)
+ (string-append "-A " item " "))
+ append-directories)
+ " "
+ "-program"
+ " "
+ ,input-file)))))
+ (loko
+ (type . compiler)
+ (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
+ (let ((out (string-cut-from-end input-file 4)))
+ (apply string-append
+ `("LOKO_LIBRARY_PATH="
,@(map (lambda (item)
- (string-append item "/:"))
- (append prepend-directories append-directories))
- "'"
+ (string-append item ":"))
+ prepend-directories)
+ ,@(map (lambda (item)
+ (string-append item ":"))
+ append-directories)
" "
- ">"
+ "loko "
" "
- ,(string-append (string-cut-from-end input-file 4) ".tmp")
+ ,(util-getenv "COMPILE_R7RS_LOKO")
" "
- "&&"
+ ,(if r6rs? "-std=r6rs" "-std=r7rs")
" "
- "cat"
+ "--compile"
" "
,input-file
" "
- ">>"
- " "
- ,(string-append (string-cut-from-end input-file 4) ".tmp")
- " "
"&&"
" "
- "gsc"
+ "mv"
" "
- ,(util-getenv "COMPILE_R7RS_GAMBIT")
+ ,out
" "
- "-:search="
- ,@(map (lambda (item)
- (string-append item "/"))
- (append prepend-directories append-directories))
- " "
- "-o"
- " "
- ,output-file
- " "
- "-exe -nopreload"
- " "
- ,@(map (lambda (item) (string-append item "/ ")) prepend-directories)
- " "
- ,@(map (lambda (item) (string-append item "/ ")) append-directories)
- " "
- ,(string-append (string-cut-from-end input-file 4) ".tmp")
- ;,input-file
- )))))
- (gauche
- (type . interpreter)
- (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
+ ,output-file))))))
+ (meevax
+ (type . interpreter)
+ (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
+ (apply string-append
+ `("meevax"
+ " "
+ ,(util-getenv "COMPILE_R7RS_MEEVAX")
+ " "
+ ;,@(map (lambda (item) (string-append "--load " item " ")) library-files)
+ ;,@(map (lambda (item) (string-append " " item " ")) prepend-directories)
+ ;,@(map (lambda (item) (string-append " " item " ")) append-directories)
+ " "
+ ,input-file)))))
+ (mit-scheme
+ (type . interpreter)
+ (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
+ (apply string-append
+ `("mit-scheme"
+ " "
+ ,(util-getenv "COMPILE_R7RS_MIT_SCHEME")
+ " "
+ ,@(map (lambda (item)
+ (string-append "--load " item " "))
+ library-files)
+ " "
+ "--load"
+ " "
+ ,input-file
+ " "
+ "--eval \"(exit 0)\"")))))
+ (mosh
+ (type . interpreter)
+ (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
+ (apply string-append
+ `("MOSH_LOAD_PATH="
+ ,@(map (lambda (item) (string-append item ":")) prepend-directories)
+ ,@(map (lambda (item) (string-append item ":")) append-directories)
+ " "
+ "mosh"
+ " "
+ ,(util-getenv "COMPILE_R7RS_MOSH")
+ " "
+ ;,@(map (lambda (item) (string-append "--loadpath=" item " "))
+ ;(append append-directories prepend-directories))
+ ;" "
+ ,input-file)))))
+ (picrin
+ (type . interpreter)
+ (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
+ (apply string-append
+ `("picrin"
+ " "
+ ,(util-getenv "COMPILE_R7RS_PICRIN")
+ " "
+ ,@(map (lambda (item)
+ (string-append "-l " item " "))
+ library-files)
+ " "
+ "-e"
+ " "
+ ,input-file)))))
+ (racket
+ (type . interpreter)
+ (library-command . ,(lambda (library-file prepend-directories append-directories r6rs?)
+ (let* ((full-path (search-library-file (append append-directories
+ prepend-directories)
+ library-file))
+ (library-rkt-file (change-file-suffix full-path ".rkt"))
+ )
+ (apply string-append
+ `("printf"
+ " "
+ "'#lang r7rs\\n(import (scheme base))\\n(include \""
+ ,(path->filename library-file)
+ "\")\\n"
+ "'"
+ " "
+ ">"
+ " "
+ ,library-rkt-file)))))
+ (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
+ (let ((rkt-input-file (if (string=? input-file "")
+ ""
+ (change-file-suffix input-file ".rkt"))))
+ (if r6rs?
+ #t
+ (when (not (string=? rkt-input-file ""))
+ (when (file-exists? rkt-input-file)
+ (delete-file rkt-input-file))
+ (with-output-to-file
+ rkt-input-file
+ (lambda ()
+ (display "#lang r7rs")
+ (newline)
+ (display "(import (scheme base))")
+ (newline)
+ (display "(include \"")
+ (display (path->filename input-file))
+ (display "\")")
+ (newline)))))
(apply string-append
- `("gosh"
+ `("racket"
" "
- ,(util-getenv "COMPILE_R7RS_GAUCHE")
+ ,(util-getenv "COMPILE_R7RS_RACKET")
" "
- "-r7"
+ "-I"
+ " "
+ ,(if r6rs? "r6rs" "r7rs")
" "
,@(map (lambda (item)
- (string-append "-I" " " item " "))
+ (string-append "-S " item " "))
prepend-directories)
,@(map (lambda (item)
- (string-append "-A" " " item " "))
+ (string-append "-S " item " "))
append-directories)
" "
- ,input-file)))))
- (gerbil
- (type . compiler)
- #;(library-command . ,(lambda (library-file prepend-directories append-directories r6rs?)
- (apply string-append
- `("gxc"
- " "
- ,(util-getenv "COMPILE_R7RS_GERBIL")
- " "
- ,library-file))))
- (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
- (apply string-append
- `("gxc"
- " "
- ,(util-getenv "COMPILE_R7RS_GERBIL")
- " "
- "-prelude \":scheme/r7rs\""
- " "
- "-exe"
- " "
- "-static"
- " "
- ,@(map (lambda (item) (string-append item "/ ")) prepend-directories)
- ,@(map (lambda (item) (string-append item "/ ")) append-directories)
- " "
- " "
- ,input-file)))))
- (guile
- (type . interpreter)
- (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
- (apply string-append
- `("guile"
- " "
- ,(util-getenv "COMPILE_R7RS_GUILE")
- " "
- ,(if r6rs? "--r6rs" "--r7rs")
- " "
- ,@(map (lambda (item)
- (string-append "-L" " " item " "))
- prepend-directories)
- ,@(map (lambda (item)
- (string-append "-L" " " item " "))
- append-directories)
- " "
- ,input-file)))))
- (husk
- (type . compiler)
- (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
- (apply string-append
- `("huskc"
- " "
- ,(util-getenv "COMPILE_R7RS_HUSK")
- " "
- "-o"
- " "
- ,output-file
- " "
- ;,@(map (lambda (item) (string-append "-L" " " item " ")) prepend-directories)
- ;,@(map (lambda (item) (string-append "-L" " " item " ")) append-directories)
- " "
- ,input-file)))))
- (ikarus
- (type . interpreter)
- (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
- (apply string-append
- `("IKARUS_LIBRARY_PATH="
- ,@(map (lambda (item)
- (string-append item ":"))
- prepend-directories)
- ,@(map (lambda (item)
- (string-append item ":"))
- append-directories)
- " "
- "ikarus"
- " "
- ,(util-getenv "COMPILE_R7RS_IKARUS")
- " "
- "--r6rs-script"
- " "
- ,input-file)))))
- (ironscheme
- (type . interpreter)
- (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
- (apply string-append
- `("ironscheme"
- " "
- ,(util-getenv "COMPILE_R7RS_IRONSCHEME")
- " "
- ,@(map (lambda (item)
- (string-append "-I \"" item "\" "))
- prepend-directories)
- ,@(map (lambda (item)
- (string-append "-I \"" item "\" "))
- append-directories)
- " "
- ,input-file)))))
- (kawa
- (type . interpreter)
- (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
- (apply string-append
- `("kawa"
- " "
- ,(util-getenv "COMPILE_R7RS_KAWA")
- " "
- "-Dkawa.import.path=\""
- ,@(map (lambda (item)
- (string-append item "/*.sld:"))
- (append prepend-directories append-directories))
- "\" "
- "--r7rs"
- " "
- ,input-file)))))
- (larceny
- (type . interpreter)
- (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
- (apply string-append
- `("larceny"
- ,(util-getenv "COMPILE_R7RS_LARCENY")
- " "
- "-nobanner"
- " "
- "-quiet"
- " "
- "-utf8"
- " "
- ,(if r6rs? "-r6rs" "-r7rs")
- " "
- ,@(map (lambda (item)
- (string-append "-I " item " "))
- prepend-directories)
- ,@(map (lambda (item)
- (string-append "-A " item " "))
- append-directories)
- " "
- "-program"
- " "
- ,input-file)))))
- (loko
- (type . compiler)
- (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
- (let ((out (string-cut-from-end input-file 4)))
- (apply string-append
- `("LOKO_LIBRARY_PATH="
- ,@(map (lambda (item)
- (string-append item ":"))
- prepend-directories)
- ,@(map (lambda (item)
- (string-append item ":"))
- append-directories)
- " "
- "loko "
- " "
- ,(util-getenv "COMPILE_R7RS_LOKO")
- " "
- ,(if r6rs? "-std=r6rs" "-std=r7rs")
- " "
- "--compile"
- " "
- ,input-file
- " "
- "&&"
- " "
- "mv"
- " "
- ,out
- " "
- ,output-file))))))
- (meevax
- (type . interpreter)
- (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
- (apply string-append
- `("meevax"
- " "
- ,(util-getenv "COMPILE_R7RS_MEEVAX")
- " "
- ;,@(map (lambda (item) (string-append "--load " item " ")) library-files)
- ;,@(map (lambda (item) (string-append " " item " ")) prepend-directories)
- ;,@(map (lambda (item) (string-append " " item " ")) append-directories)
- " "
- ,input-file)))))
- (mit-scheme
- (type . interpreter)
- (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
- (apply string-append
- `("mit-scheme"
- " "
- ,(util-getenv "COMPILE_R7RS_MIT_SCHEME")
- " "
- ,@(map (lambda (item)
- (string-append "--load " item " "))
- library-files)
- " "
- "--load"
- " "
- ,input-file
- " "
- "--eval \"(exit 0)\"")))))
- (mosh
- (type . interpreter)
- (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
- (apply string-append
- `("MOSH_LOAD_PATH="
- ,@(map (lambda (item) (string-append item ":")) prepend-directories)
- ,@(map (lambda (item) (string-append item ":")) append-directories)
- " "
- "mosh"
- " "
- ,(util-getenv "COMPILE_R7RS_MOSH")
- " "
- ;,@(map (lambda (item) (string-append "--loadpath=" item " "))
- ;(append append-directories prepend-directories))
- ;" "
- ,input-file)))))
- (picrin
- (type . interpreter)
- (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
- (apply string-append
- `("picrin"
- " "
- ,(util-getenv "COMPILE_R7RS_PICRIN")
- " "
- ,@(map (lambda (item)
- (string-append "-l " item " "))
- library-files)
- " "
- "-e"
- " "
- ,input-file)))))
- (racket
- (type . interpreter)
- (library-command . ,(lambda (library-file prepend-directories append-directories r6rs?)
- (let* ((full-path (search-library-file (append append-directories
- prepend-directories)
- library-file))
- (library-rkt-file (change-file-suffix full-path ".rkt"))
- )
- (apply string-append
- `("printf"
- " "
- "'#lang r7rs\\n(import (scheme base))\\n(include \""
- ,(path->filename library-file)
- "\")\\n"
- "'"
- " "
- ">"
- " "
- ,library-rkt-file)))))
- (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
- (let ((rkt-input-file (if (string=? input-file "")
- ""
- (change-file-suffix input-file ".rkt"))))
- (if r6rs?
- #t
- (when (not (string=? rkt-input-file ""))
- (when (file-exists? rkt-input-file)
- (delete-file rkt-input-file))
- (with-output-to-file
- rkt-input-file
- (lambda ()
- (display "#lang r7rs")
- (newline)
- (display "(import (scheme base))")
- (newline)
- (display "(include \"")
- (display (path->filename input-file))
- (display "\")")
- (newline)))))
+ ,(if r6rs? input-file rkt-input-file)
+ ))))))
+ (sagittarius
+ (type . interpreter)
+ (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
(apply string-append
- `("racket"
+ `("sash"
" "
- ,(util-getenv "COMPILE_R7RS_RACKET")
+ ,(util-getenv "COMPILE_R7RS_SAGITTARIUS")
" "
- "-I"
- " "
- ,(if r6rs? "r6rs" "r7rs")
+ ,(if r6rs? "-r6" "-r7")
" "
,@(map (lambda (item)
- (string-append "-S " item " "))
+ (string-append "-L " item " "))
prepend-directories)
,@(map (lambda (item)
- (string-append "-S " item " "))
+ (string-append "-A " item " "))
append-directories)
" "
- ,(if r6rs? input-file rkt-input-file)
- ))))))
- (sagittarius
- (type . interpreter)
- (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
- (apply string-append
- `("sash"
- " "
- ,(util-getenv "COMPILE_R7RS_SAGITTARIUS")
- " "
- ,(if r6rs? "-r6" "-r7")
- " "
- ,@(map (lambda (item)
- (string-append "-L " item " "))
- prepend-directories)
- ,@(map (lambda (item)
- (string-append "-A " item " "))
- append-directories)
- " "
- ,input-file)))))
- (skint
- (type . interpreter)
- (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
- (apply string-append
- `("skint"
- " "
- ,(util-getenv "COMPILE_R7RS_SKINT")
- " "
- ,@(map (lambda (item)
- (string-append "-I " item "/ "))
- prepend-directories)
- ,@(map (lambda (item)
- (string-append "-A " item "/ "))
- append-directories)
- " "
- ,input-file)))))
- (stak
- (type . interpreter)
- (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
- (apply string-append
- `("stak"
- " "
- ,(util-getenv "COMPILE_R7RS_STAK")
- " "
- ;,@(map (lambda (item) (string-append "-I " item " ")) prepend-directories)
- ;,@(map (lambda (item) (string-append "-A " item " ")) append-directories)
- " "
- ,input-file)))))
- (stklos
- (type . interpreter)
- (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
- (apply string-append
- `("stklos"
- " "
- ,(util-getenv "COMPILE_R7RS_STKLOS")
- " "
- ,@(map (lambda (item)
- (string-append "-I " item " "))
- prepend-directories)
- ,@(map (lambda (item)
- (string-append "-A " item " "))
- append-directories)
- " "
- ,input-file)))))
- (tr7
- (type . interpreter)
- (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
- (apply string-append
- `("TR7_LIB_PATH="
- ,@(map (lambda (item)
- (string-append item ":"))
- prepend-directories)
- ,@(map (lambda (item)
- (string-append item ":"))
- append-directories)
- " "
- "tr7i"
- " "
- ,(util-getenv "COMPILE_R7RS_TR7")
- " "
- ,input-file)))))
- (vicare
- (type . compiler)
- (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
- (apply string-append
- `("vicare"
- " "
- ,(util-getenv "COMPILE_R7RS_VICARE")
- " "
- ,@(map (lambda (item)
- (string-append "-I " item " "))
- prepend-directories)
- ,@(map (lambda (item)
- (string-append "-A " item " "))
- append-directories)
- " "
- "--compile-program"
- " "
- ,input-file)))))
- (ypsilon
- (type . interpreter)
- (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
- (apply string-append
- `("ypsilon"
- " "
- ,(util-getenv "COMPILE_R7RS_YPSILON")
- " "
- ,(if r6rs? "--r6rs" "--r7rs")
- " "
- "--mute"
- " "
- "--quiet"
- " "
- ,@(map (lambda (item)
- (string-append "--sitelib=" item " "))
- prepend-directories)
- ,@(map (lambda (item)
- (string-append "--sitelib=" item " "))
- append-directories)
- " "
- "--top-level-program"
- " "
- ,input-file)))))))))
+ ,input-file)))))
+ (skint
+ (type . interpreter)
+ (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
+ (apply string-append
+ `("skint"
+ " "
+ ,(util-getenv "COMPILE_R7RS_SKINT")
+ " "
+ ,@(map (lambda (item)
+ (string-append "-I " item "/ "))
+ prepend-directories)
+ ,@(map (lambda (item)
+ (string-append "-A " item "/ "))
+ append-directories)
+ " "
+ ,input-file)))))
+ (stak
+ (type . interpreter)
+ (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
+ (apply string-append
+ `("stak"
+ " "
+ ,(util-getenv "COMPILE_R7RS_STAK")
+ " "
+ ;,@(map (lambda (item) (string-append "-I " item " ")) prepend-directories)
+ ;,@(map (lambda (item) (string-append "-A " item " ")) append-directories)
+ " "
+ ,input-file)))))
+ (stklos
+ (type . interpreter)
+ (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
+ (apply string-append
+ `("stklos"
+ " "
+ ,(util-getenv "COMPILE_R7RS_STKLOS")
+ " "
+ ,@(map (lambda (item)
+ (string-append "-I " item " "))
+ prepend-directories)
+ ,@(map (lambda (item)
+ (string-append "-A " item " "))
+ append-directories)
+ " "
+ ,input-file)))))
+ (tr7
+ (type . interpreter)
+ (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
+ (apply string-append
+ `("TR7_LIB_PATH="
+ ,@(map (lambda (item)
+ (string-append item ":"))
+ prepend-directories)
+ ,@(map (lambda (item)
+ (string-append item ":"))
+ append-directories)
+ " "
+ "tr7i"
+ " "
+ ,(util-getenv "COMPILE_R7RS_TR7")
+ " "
+ ,input-file)))))
+ (vicare
+ (type . compiler)
+ (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
+ (apply string-append
+ `("vicare"
+ " "
+ ,(util-getenv "COMPILE_R7RS_VICARE")
+ " "
+ ,@(map (lambda (item)
+ (string-append "-I " item " "))
+ prepend-directories)
+ ,@(map (lambda (item)
+ (string-append "-A " item " "))
+ append-directories)
+ " "
+ "--compile-program"
+ " "
+ ,input-file)))))
+ (ypsilon
+ (type . interpreter)
+ (command . ,(lambda (input-file output-file prepend-directories append-directories library-files r6rs?)
+ (apply string-append
+ `("ypsilon"
+ " "
+ ,(util-getenv "COMPILE_R7RS_YPSILON")
+ " "
+ ,(if r6rs? "--r6rs" "--r7rs")
+ " "
+ "--mute"
+ " "
+ "--quiet"
+ " "
+ ,@(map (lambda (item)
+ (string-append "--sitelib=" item " "))
+ prepend-directories)
+ ,@(map (lambda (item)
+ (string-append "--sitelib=" item " "))
+ append-directories)
+ " "
+ "--top-level-program"
+ " "
+ ,input-file)))))))))