Download: http://github.com/kstephens/ll/tree/master
LL is:
An embeddable pure, class-based, object Lisp system C library with multiple inheritance and mix-in support based on ideas from Scheme, Oaklisp and Dylan. Clean namespace and proper tail calls in C.
Version 0.15:
- Adds a method lookup cache at all call sites, including primitive C code, reduces full method lookups by over 80%.
- Relies on Bohem GC 7.0 (included).
- Passes R4RS tests.
- Improved bytecode compiler and constant folding on non-side-effecting methods.
- Compiles with GCC 4.1.3.
call/cc
is partially supported.
- Stack buffers for activation records and values are dynamically allocated.
(write)
and (display)
detect loops.
- Inline
ll_call()
macros are more optimized.
- More posix: methods.
- Better
<error>
attribute handling.
- More hooks for default error handling behavior.
- Debugger no longer pollutes global namespace.
- Locatives to read-only globals correctly raise errors.
- Objects with binary data slots will not cause (equal?) to crash, see
<not-equal-mixin>
.
- Fixes memory problems.
- Improved build process.
- Improved boot process.
llt
options: -e, -d, -p.