Install sbt. cd ToyLisp sbt update sbt proguard java -jar target/scala_2.8.1/ToyLisp-*.min.jar
foo
(evaluated symbol)(foo)
(function call, n-ary)[foo]
(list)"foo"
(string (list of characters))'c'
(character)3
(integer)
set!
(assignment)lambda
(anonymous function)if
(conditional -- empty list and zero are falsy)do
(sequence of forms)
cons
,head
,tail
num>char
,char>num
<=
,+
,opp
eq?
list?
,char?
,num?
- There's just one namespace.
- Scoping is lexical.
Eager call-by-value.
- Recursion is not supported. Since there are no loops either, ToyLisp is not Turing-complete.