This fixes the upostop-- test by auto-casting implicit constants to
unsigned (and it gives a warning for signed-unsigned comparisons
otherwise). The generated code isn't quite the best, but the fix for
that is next.
Also clean up the resulting mess, though not properly. There are a few
bogus warnings, and the legit ones could do with a review.
Scheme program errors without making Rua abort now, although there are a
few things that still need to actually report errors instead of failing
in weird ways.
- Boolean type (no support in lexer yet)
- Conditionals
- Defines (only work correctly at top level)
- More core builtins (apply, cons, car, cdr)
- Variable-argument functions
- Incremental garbage collection
- Garbage collection fixes
- Other misc bugs fixed