A Scheme interpreter in Haskell based on
Write Yourself a Scheme in 48 Hours
ghc -o Schemer Schemer.hs
./Schemer "(+ 1 2 3 4)"
10
- REPL supported.
- Standard library provided.
- IO functions provided.
./Schemer
Schemer> (define (factorial x) (if (= x 1) 1 (* x (factorial (- x 1)))))
(lambda ("x") ...)
Schemer> (factorial 10)
3628800
Schemer> (load "stdlib.scm")
(lambda ("pred" . lst) ...)
Schemer> (sum 1 2 3 4)
10