Skip to content

hankthetank27/schemeish

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

schemeish

A tiny Scheme interperter based off the metacircular evaluator from SICP. Supports a good amount of the basic primitive and derived expression types, and includes mutable variable and list operations.

To try it out, run cargo run to compile and enter the REPL, or pass in a file path as a command line argument to evaluate.

Supported Operations

Primitives/Special Forms Libray
lambda id
define curry
quote / ' compose
if foldr / reduce
cond foldl / fold
begin unfold
let zero?
let* positive?
and negitive?
or odd?
not even?
+ abs
- map
* filter
/ length
= list-tail
> list head
< memq
<= memv
>= member
remainder assq
modulo assv
apply assoc
cons caar
car cadr
cdr cdar
list cddr
set! caaar
set-car! caadr
set-cdr! cadar
display caddr
error cdaar
equal? cdadr
eq? cddar
number? cdddr
symbol? caaaar
string? caaadr
pair? caadar
null? caaddr
cadaar
cadadr
caddar
cadddr
cdaaar
cdaadr
cdadar
cdaddr
cddaar
cddadr
cdddar
cddddr

|

References:

Releases

No releases published

Packages

No packages published

Languages