16 Commits (01d1a4e073bab02e5538b1e498144e05e774e144)

Author SHA1 Message Date
Jordan Orelli 688c880065 added `and`, `or`, and `=`
the equality implementation is probably wrong.
12 years ago
Jordan Orelli 0101163559 environment keys now include parent environments 12 years ago
Jordan Orelli 1ee8bff82c defined the callable interface 12 years ago
Jordan Orelli b387d909b5 fixed quote bug 12 years ago
Jordan Orelli c4fed38dd9 refactored builtin type
this is done to avoid repeating all the arity checks all over the place.
That was getting a little tedious.
12 years ago
Jordan Orelli b9d2afce74 fixed quoting behavior
previously it was impossible to do the following:

    (define dave (quote (x y z)))
    dave

the interpreter would incorrectly try to evaluate the (x y z), because
there was no quote level being recorded, and it was seen as being the
same as a regular sexp.
12 years ago
Jordan Orelli e31816c22f added a bit of documentation 12 years ago
Jordan Orelli 6395089039 added "not" 12 years ago
Jordan Orelli 175e8abf1b added "begin" special form 12 years ago
Jordan Orelli ee6c15a90f made arity checking a little saner 12 years ago
Jordan Orelli 51a27aaa9b added lambda support 12 years ago
Jordan Orelli e86260e8dc environments now have outer environment pointers 12 years ago
Jordan Orelli f8ba2415ff fixed quote 12 years ago
Jordan Orelli ba1bab1e39 implemented set! 12 years ago
Jordan Orelli ec5cbdcaab added *if* 12 years ago
Jordan Orelli 107565dc04 added quote 12 years ago