1
0
Fork 0

Add support for capyscheme

This commit is contained in:
retropikzel 2025-12-04 10:23:34 +02:00
parent 59240f04b0
commit 8ecaaa8d5a
3 changed files with 688 additions and 660 deletions

View File

@ -10,7 +10,32 @@
(begin (begin
(define pwd (cond-expand (windows "%CD%") (else "${PWD}"))) (define pwd (cond-expand (windows "%CD%") (else "${PWD}")))
(define data (define data
`((chezscheme `((capyscheme
(type . interpreter)
(command . ,(lambda (exec-cmd
script-file
args
input-file
output-file
prepend-directories
append-directories
library-files
r6rs?
compilation-target)
(apply string-append
`(,exec-cmd
" capy "
,(util-getenv "COMPILE_R7RS_CAPYSCHEME")
" "
,@(map (lambda (item)
(string-append "-L" " " item " "))
(append prepend-directories
append-directories))
" --script "
,script-file
" "
,args)))))
(chezscheme
(type . interpreter) (type . interpreter)
(command . ,(lambda (exec-cmd (command . ,(lambda (exec-cmd
script-file script-file
@ -399,7 +424,7 @@
compilation-target) compilation-target)
(apply string-append (apply string-append
`(,exec-cmd `(,exec-cmd
" kawa -J--add-exports=java.base/jdk.internal.foreign.abi=ALL-UNNAMED -J--add-exports=java.base/jdk.internal.foreign.layout=ALL-UNNAMED -J--add-exports=java.base/jdk.internal.foreign=ALL-UNNAMED -J--enable-native-access=ALL-UNNAMED -J--enable-preview --full-tailcalls" " kawa -J--add-exports=java.base/jdk.internal.foreign.abi=ALL-UNNAMED -J--add-exports=java.base/jdk.internal.foreign.layout=ALL-UNNAMED -J--add-exports=java.base/jdk.internal.foreign=ALL-UNNAMED -J--enable-native-access=ALL-UNNAMED -J--enable-preview --r7rs --full-tailcalls"
,(util-getenv "COMPILE_R7RS_KAWA") ,(util-getenv "COMPILE_R7RS_KAWA")
" -Dkawa.import.path=" " -Dkawa.import.path="
,@(map (lambda (item) ,@(map (lambda (item)
@ -413,7 +438,7 @@
,script-file ,script-file
" " " "
,args))))) ,args)))))
(larceny #;(larceny
(type . interpreter) (type . interpreter)
(command . ,(lambda (exec-cmd (command . ,(lambda (exec-cmd
script-file script-file

View File

@ -56,18 +56,20 @@
(define (echo text) (display text) (newline)) (define (echo text) (display text) (newline))
(define (cat path) (for-each (lambda (line) (echo line)) (file->list path))) (define (cat path) (for-each (lambda (line) (echo line)) (file->list path)))
(define r6rs-schemes '(chezscheme (define r6rs-schemes '(capyscheme
chezscheme
guile guile
ikarus ikarus
ironscheme ironscheme
larceny ;larceny
loko loko
mosh mosh
racket racket
sagittarius sagittarius
ypsilon)) ypsilon))
(define r7rs-schemes '(chibi (define r7rs-schemes '(capyscheme
chibi
chicken chicken
cyclone cyclone
;gambit ;gambit
@ -75,7 +77,7 @@
gauche gauche
guile guile
kawa kawa
larceny ;larceny
loko loko
meevax meevax
mit-scheme mit-scheme
@ -86,7 +88,8 @@
stklos stklos
tr7 tr7
ypsilon)) ypsilon))
(define all-schemes '(chezscheme (define all-schemes '(capyscheme
chezscheme
chibi chibi
chicken chicken
cyclone cyclone
@ -97,7 +100,7 @@
ikarus ikarus
ironscheme ironscheme
kawa kawa
larceny ;larceny
loko loko
meevax meevax
mit-scheme mit-scheme