13 Commits

Author SHA1 Message Date
Jonathan Bernard
c63b92bf41 Functions as first-class objects, lambdas implemented. Added several new SFs 2009-11-25 13:38:12 -06:00
Jonathan Bernard
14ac02ab12 Cleaning up generated parser files. 2009-11-24 11:55:57 -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
dfc1234817 Implemented on-line help system, initial trace system, debug functions.
Rewrote REPL
Added NIL and comments to parser.
Added T as a predefined constant.
Added HELP, TRACE, ENABLE-DEBUG-AST special form.
Fixed variable evaluation (shouldn't automatically eval it's value)
2009-11-21 20:00:39 -06:00
Jonathan Bernard
943c91dedc Fixed function calling mechanism. 2009-11-20 13:59:40 -06:00
Jonathan Bernard
1642e5a51a Function lookup and calling implemented. Some SpecialForms implemented.
Special forms:
    DEFUN
    SETQ
    +
    -
    *
    /
2009-11-20 10:26:21 -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
adc5b2d250 Continued work on List.eval, general function/macro/special form invocation. 2009-11-20 06:19:03 -06:00
Jonathan Bernard
1595ae1921 Re-architected SymbolTable using maps rather than sequences. 2009-11-19 10:59:14 -06:00
Jonathan Bernard
ebbcb87745 Initial thoughts and groundwork for scoping, activation records, and functions. 2009-11-19 09:57:41 -06:00
Jonathan Bernard
9a165a2131 Finished initial version of AbstractSyntax 2009-11-19 09:56:52 -06:00
Jonathan Bernard
577ffcdcb3 Initial commit, Parser and abstract syntax tree skeleton done. 2009-11-18 20:00:29 -06:00