Jonathan Bernard
99a3601896
Fixed a bug with how Labdas evaluate their arguments.
...
Arguments should be evaluated in the calling scope, but due to the way labdas
were constructing a new symbol table, the arguments were being evaluated inside
the closure scope.
2010-04-20 11:18:09 -05:00
Jonathan Bernard
794467003a
Implemented NOT. Fixed SExp.NIL equality bug.
2010-02-09 14:13:30 -06:00
Jonathan Bernard
c754b2e7a9
LETREC tests
2009-12-01 20:05:05 -06:00
Jonathan Bernard
2b45af2d9c
Reworked closure calculation. Added several special forms. Bug fixes. TypeUtil
...
Not completely happy with closure calculation, but satisfied.
Added debug toString to SymbolTable
Many additional changes, see diff.
2009-11-30 20:41:08 -06:00
Jonathan Bernard
7f288c0878
Generalized special form argument type checking. Added <=, <, =, /=, >, >=
2009-11-25 16:18:13 -06:00
Jonathan Bernard
86a0e3981b
Updated build process for better cross-platform support.
2009-11-25 13:53:08 -06:00
Jonathan Bernard
c63b92bf41
Functions as first-class objects, lambdas implemented. Added several new SFs
2009-11-25 13:38:12 -06:00
Jonathan Bernard
2c0e932f89
Polished build process. Added CONS special form.
2009-11-24 11:55:02 -06:00
Jonathan Bernard
e6a608ee2b
Added keywords, several new special forms
2009-11-24 09:22:52 -06:00
Jonathan Bernard
f6d3658342
Safety point before changing the return type of SExp.eval to SExp
2009-11-20 09:10:21 -06:00
Jonathan Bernard
577ffcdcb3
Initial commit, Parser and abstract syntax tree skeleton done.
2009-11-18 20:00:29 -06:00