Skip to content

Commit ffcd6eb

Browse files
authored
Adding TR7 interpreter to the set (#66)
* Clean importation of compiler.scm The compiler doesn't need (scheme complex) for itself. So requiring it would avoid implementations not offering that library to run the test. * Add TR7 interpreter
1 parent ea82bc3 commit ffcd6eb

File tree

4 files changed

+33
-1
lines changed

4 files changed

+33
-1
lines changed

Makefile.schemes

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,9 @@ scheme48:
104104
tinyscheme:
105105
./bench tinyscheme all
106106

107+
tr7:
108+
./bench tr7 all
109+
107110
# vicare:
108111
# ./bench vicare all
109112

@@ -168,6 +171,8 @@ results.Stalin: stalin
168171

169172
results.TinyScheme: tinyscheme
170173

174+
results.TR7: tr7
175+
171176
results.Vicare: vicare
172177

173178
results.Ypsilon: ypsilon

README.org

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ Schemes that should work:
3232
- [[https://bitbucket.org/ktakashi/sagittarius-scheme/wiki/Home][Sagittarius]] (=sagittarius=)
3333
- [[http://s48.org][Scheme48]] (=scheme48=)
3434
- [[http://t3x.org/s9fes/][Scheme 9 from Empty Space]] (=s9fes=)
35+
- [[https://gitlab.com/jobol/tr7][TR7, tiny R7RS interpreter] (=TR7=)
3536
- [[http://marcomaggi.github.io/vicare.html][Vicare]] (=vicare=)
3637
- [[http://www.littlewingpinball.net/mediawiki/index.php/Ypsilon][Ypsilon]] (=ypsilon=)
3738
This should result in a file =./results.<scheme>=.

bench

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ SYNTH_BENCHMARKS="equal bv2string"
7979

8080
ALL_BENCHMARKS="$GABRIEL_BENCHMARKS $NUM_BENCHMARKS $KVW_BENCHMARKS $IO_BENCHMARKS $OTHER_BENCHMARKS $GC_BENCHMARKS $SYNTH_BENCHMARKS"
8181

82-
ALL_SYSTEMS="bigloo bones chez chibi chicken5 chicken5csi cyclone femtolisp foment gambitc gauche gerbil guile guile3 ironscheme kawa larceny loko mit owllisp petite picrin racket rhizome rscheme s7 s9fes sagittarius scheme48 stklos vicare ypsilon" # chicken4 chicken4csi
82+
ALL_SYSTEMS="bigloo bones chez chibi chicken5 chicken5csi cyclone femtolisp foment gambitc gauche gerbil guile guile3 ironscheme kawa larceny loko mit owllisp petite picrin racket rhizome rscheme s7 s9fes sagittarius scheme48 stklos tr7 vicare ypsilon" # chicken4 chicken4csi
8383
################################################################
8484

8585
NB_RUNS=1
@@ -151,6 +151,7 @@ setup ()
151151
STALIN=${STALIN:-"chicken-stalin"}
152152
STKLOS=${STKLOS:-"stklos"}
153153
TINYSCHEME=${TINYSCHEME:-"tinyscheme"}
154+
TR7I=${TR7I:-"tr7i"}
154155
VICARE=${VICARE:-"vicare"}
155156
YPSILON=${YPSILON:-"ypsilon"}
156157
}
@@ -204,6 +205,7 @@ Usage: bench [-r runs] <system> <benchmark>
204205
stalin for Stalin
205206
stklos for STklos
206207
tinyscheme for TinyScheme
208+
tr7 for TR7
207209
vicare for Vicare
208210
ypsilon for Ypsilon
209211
all for all of the above
@@ -514,6 +516,19 @@ tinyscheme_exec ()
514516
time ( ${TINYSCHEME} -1 "$1" "$2" )
515517
}
516518

519+
# -----------------------------------------------------------------------------
520+
# Definitions specific to TR7
521+
522+
tr7_comp ()
523+
{
524+
true
525+
}
526+
527+
tr7_exec ()
528+
{
529+
time ${TR7I} "$1" < "$2"
530+
}
531+
517532
# -----------------------------------------------------------------------------
518533
# Definitions specific to RScheme
519534

@@ -1123,6 +1138,16 @@ for system in $systems ; do
11231138
EXECCOMMANDS=""
11241139
;;
11251140

1141+
tr7) NAME='TR7'
1142+
COMP=tr7_comp
1143+
EXEC=tr7_exec
1144+
COMPOPTS=""
1145+
EXTENSION="scm"
1146+
EXTENSIONCOMP="scm"
1147+
COMPCOMMANDS=""
1148+
EXECCOMMANDS=""
1149+
;;
1150+
11261151
rscheme) NAME='RScheme'
11271152
COMP=rscheme_comp
11281153
EXEC=rscheme_exec

src/TR7-prelude.scm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
(define (this-scheme-implementation-name) "tr7")

0 commit comments

Comments
 (0)