Scheme Lisp interpreter written in Rust.
Overall, 4.58% of r5rs's standard functions are implemented.
Function | Implemented | Tests passing |
---|---|---|
* | + | + |
+ | + | + |
- | + | + |
/ | + | + |
< | + | + |
<= | + | + |
= | + | + |
=> | - | - |
> | + | + |
>= | + | + |
abs | - | - |
acos | - | - |
and | - | - |
angle | - | - |
append | - | - |
apply | - | - |
asin | - | - |
assoc | - | - |
assq | - | - |
assv | - | - |
atan | - | - |
#b | - | - |
begin | - | - |
boolean? | - | - |
bound | - | - |
caar | - | - |
cadr | - | - |
call-with-current-continuation | - | - |
call-with-input-file | - | - |
call-with-output-file | - | - |
call-with-values | - | - |
car | - | - |
case | - | - |
catch | - | - |
cdddar | - | - |
cddddr | - | - |
cdr | - | - |
ceiling | - | - |
char->integer | - | - |
char-alphabetic? | - | - |
char-ci<=? | - | - |
char-ci<? | - | - |
char-ci=? | - | - |
char-ci>=? | - | - |
char-ci>? | - | - |
char-downcase | - | - |
char-lower-case? | - | - |
char-numeric? | - | - |
char-ready? | - | - |
char-upcase | - | - |
char-upper-case? | - | - |
char-whitespace? | - | - |
char<=? | - | - |
char<? | - | - |
char=? | - | - |
char>=? | - | - |
char>? | - | - |
char? | - | - |
close-input-port | - | - |
close-output-port | - | - |
combination | - | - |
comma | - | - |
comment | - | - |
complex? | - | - |
cond | - | - |
cons | - | - |
constant | - | - |
continuation | - | - |
cos | - | - |
current-input-port | - | - |
current-output-port | - | - |
#d | - | - |
define | - | - |
define-syntax | - | - |
definition | - | - |
delay | - | - |
denominator | - | - |
display | - | - |
do | - | - |
dotted | - | - |
dynamic-wind | - | - |
#e | - | - |
Index | - | - |
else | - | - |
empty list | - | - |
eof-object? | - | - |
eq? | - | - |
equal? | - | - |
equivalence predicate | - | - |
eqv? | - | - |
error | - | - |
escape procedure | - | - |
eval | - | - |
even? | - | - |
exact | - | - |
exact->inexact | - | - |
exact? | - | - |
exactness | - | - |
exp | - | - |
expt | - | - |
#f | - | - |
false | - | - |
floor | - | - |
for-each | - | - |
force | - | - |
gcd | - | - |
hygienic | - | - |
#i | - | - |
identifier | - | - |
if | - | - |
imag-part | - | - |
immutable | - | - |
implementation restriction | - | - |
improper list | - | - |
inexact | - | - |
inexact->exact | - | - |
inexact? | - | - |
input-port? | - | - |
integer->char | - | - |
integer? | - | - |
interaction-environment | - | - |
lambda | - | - |
lcm | - | - |
length | - | - |
let | - | - |
let* | - | - |
let-syntax | - | - |
letrec | - | - |
letrec-syntax | - | - |
library | - | - |
list | - | - |
list->string | - | - |
list->vector | - | - |
list-ref | - | - |
list-tail | - | - |
list? | - | - |
load | - | - |
location | - | - |
log | - | - |
make-polar | - | - |
make-rectangular | - | - |
make-string | - | - |
make-vector | - | - |
map | - | - |
max | + | + |
member | - | - |
memq | - | - |
memv | - | - |
min | + | + |
modulo | - | - |
mutable | - | - |
negative? | - | - |
newline | - | - |
nil | - | - |
not | - | - |
null-environment | - | - |
null? | - | - |
number | - | - |
number->string | - | - |
number? | - | - |
numerator | - | - |
#o | - | - |
object | - | - |
odd? | - | - |
open-input-file | - | - |
open-output-file | - | - |
optional | - | - |
or | - | - |
output-port? | - | - |
pair | - | - |
pair? | - | - |
peek-char | - | - |
port? | - | - |
positive? | - | - |
procedure? | - | - |
quasiquote | - | - |
quote | - | - |
quotient | - | - |
rational? | - | - |
rationalize | - | - |
read | - | - |
read-char | - | - |
real-part | - | - |
real? | - | - |
remainder | - | - |
reverse | - | - |
round | - | - |
scheme-report-environment | - | - |
set! | - | - |
set-car! | - | - |
set-cdr! | - | - |
setcar | - | - |
sin | - | - |
sqrt | - | - |
string | - | - |
string->list | - | - |
string->number | - | - |
string->symbol | - | - |
string-append | - | - |
string-ci<=? | - | - |
string-ci<? | - | - |
string-ci=? | - | - |
string-ci>=? | - | - |
string-ci>? | - | - |
string-copy | - | - |
string-fill! | - | - |
string-length | - | - |
string-ref | - | - |
string-set! | - | - |
string<=? | - | - |
string<? | - | - |
string=? | - | - |
string>=? | - | - |
string>? | - | - |
string? | - | - |
substring | - | - |
symbol->string | - | - |
symbol? | - | - |
syntax-rules | - | - |
#t | - | - |
tan | - | - |
transcript-off | - | - |
transcript-on | - | - |
truncate | - | - |
unquote | - | - |
unquote-splicing | - | - |
values | - | - |
vector | - | - |
vector->list | - | - |
vector-fill! | - | - |
vector-length | - | - |
vector-ref | - | - |
vector-set! | - | - |
vector? | - | - |
with-input-from-file | - | - |
with-output-to-file | - | - |
write | - | - |
write-char | - | - |
#x | - | - |
zero? | - | - |