A minimalist continuation-based Scheme written in C.
Go to file
Jesse D. McDonald 67ea700ac2 Fix handling of (set! var (let (var) ...)) and similar cases.
Was moving (set!) into the (%bind) form, and thus setting the wrong variable.
Now, if set! var is bound, will create a temporary for result of %bind first,
and set! original variable to temporary in the proper scope.

Also, normalize rules for nested (%bind)s:
* The (%bind) inside a (%lambda) is always flat.
   - This is a responsiblity of simplify-lambda, and any function which
     may change structure after simplification (e.g. promote-to-box).
* Any other (%bind) may be nested, unless otherwise noted.
2012-07-14 13:44:56 -05:00
doc Commit other half of doc/compiler.txt -> compiler.ss move. 2012-07-14 13:43:50 -05:00
mods Add automatic dependency tracking to the build rules. 2012-07-14 13:42:30 -05:00
src Check in some sample programs demonstrating the compiler. 2012-07-14 13:44:55 -05:00
.hgignore Ignore dependency (*.d) files. 2012-07-14 13:42:51 -05:00
COPYING Add a formal public-domain dedication so that others can use this. 2012-07-14 13:40:14 -05:00
Makefile Adjust build script to capitalize HAVE_MOD_* macros. 2012-07-14 13:43:01 -05:00
builtin.c Swap continuation & context in the lambda and template structures. 2012-07-14 13:43:26 -05:00
builtin.h Swap continuation & context in the lambda and template structures. 2012-07-14 13:43:26 -05:00
compiler.ss Fix handling of (set! var (let (var) ...)) and similar cases. 2012-07-14 13:44:56 -05:00
gc.c Separate statistics for Gen-0 vs. Gen-1 garbage collection. 2012-07-14 13:43:17 -05:00
gc.h Separate statistics for Gen-0 vs. Gen-1 garbage collection. 2012-07-14 13:43:17 -05:00
interp.c Fix a missing-root error in interp.c:perform_tail_call(). 2012-07-14 13:43:39 -05:00
interp.h Swap continuation & context in the lambda and template structures. 2012-07-14 13:43:26 -05:00
reader.c Stop reading at EOF, and signal an error when EOF occurs inside a string. 2012-07-14 13:43:32 -05:00
reader.h Adjust indirect form (#i"path") to be relative to the current file. 2012-07-14 13:42:16 -05:00
rosella.c Control printing of GC stats with GC_STATS env. var rather than #if 0/1. 2012-07-14 13:43:16 -05:00
run-tests.sh Commit simple script to run regression tests: src/examples/test-*.rla. 2012-07-14 13:43:38 -05:00