Releases: 8dcc/sl
Releases · 8dcc/sl
v1.1.0
General changes:
- Add Lisp callstack for debugging, support
SL_TRACE_ON_ERR
. - Support multiple input files when parsing the command-line arguments.
- Add
-s
,--silent
and--no-stdlib
command-line arguments. - Fix
manifest.scm
for Guix.
Primitives:
- Add
set
primitive. - Add
clone
primitive.
Standard library:
- Add
reduce
function. - Add
min
andmax
functions.
Tests:
- General bash improvements.
- When using
test/run-tests.sh
, load the standard library that is relative to the path of the script, instead of the one installed in the system.
Things left to do:
- Expand standard library.
- Add tail-call optimization (see README).
Full Changelog: v1.0.0...v1.1.0
v1.0.0
Changes since the last release:
Things left to do:
- More debugging utilities, now that we work with references.
- Expand standard library.
- Add tail-call optimization (see README).
Full Changelog: v0.2.0...v1.0.0
v0.2.0
Changes since the last release:
Things left to do:
- No cons pair support. Only simple linked lists of expressions,
cdr
is always a list. - Although there is now garbage collection, everything is still being cloned instead of being passed by reference. This should be added after adding cons pair support.
- Add tail-call optimization (see README).
- Add proper closures (see README).
Full Changelog: v0.1.0...v0.2.0
Version 0.1.0
Basic Lisp programming can be done easily. Manual is almost finished.
Things left to do:
- Bad error handling, just prints to
stderr
. - No cons pair support. Only simple linked lists of expressions,
cdr
is always a list. - Bad memory management; nothing is passed by reference, instead everything is duplicated. No garbage collection. Could use a pool allocator.
- Add tail-call optimization (see README).
- Add proper closures (see README).