JeffBezanson
de19e4f401
adding return special form
...
eliminating some unnecessary top-level bindings
adding opcodes add2, sub2, neg
2009-04-26 22:19:32 +00:00
JeffBezanson
0dc4c16276
making procedure? a builtin
...
fixing type error trying to apply #t, #f, nil
2009-04-24 20:43:56 +00:00
JeffBezanson
d6f73d0bf0
implementing #vu8 read and print syntax for uint8 vectors
...
much more compact string representation of bytecode
2009-04-21 15:35:46 +00:00
JeffBezanson
25812731cc
eliminating interpreter. the bytecode VM is now fully bootstrapped.
...
making the empty vector a singleton
removing syntax environment stuff from core
reimplementing eval using the compiler
fixing a couple bugs in long argument lists
2009-04-21 00:56:05 +00:00
JeffBezanson
86b7738c89
cleaning up implementation of apply() entry point
...
removing use of interpreter in computed calls to builtins
2009-04-17 03:40:52 +00:00
JeffBezanson
94814a2e34
a bug fix and a first pass at let-optimization
2009-04-16 21:20:15 +00:00
JeffBezanson
ad4a086790
converting for to a special form
...
adding loadi8 instruction
cleaning up numeric comparison, reducing repeated code
2009-04-16 03:05:38 +00:00
JeffBezanson
36a209cd5f
making = a builtin
...
fixing = and eqv? to work properly on NaNs
fixing other comparison predicates to be consistent
2009-04-15 23:54:43 +00:00
JeffBezanson
672558d30f
bytecode vm is now working, off by default
...
various bug fixes
language changes:
• constant symbols no longer shadow everything
• eval* removed
• vararg lists always allocated on entry, dotted argument
lists not preserved
new applyn() entry point
2009-04-15 00:12:01 +00:00