Skip to content

Releases: 8dcc/sl

v1.1.0

28 Feb 22:27
4c66896
Compare
Choose a tag to compare

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 and max 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

16 Feb 13:20
e03e3e0
Compare
Choose a tag to compare

Changes since the last release:

  • Cons pair support in #6
  • Environment closures in #7
  • Use references instead of clones in #8

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

23 Jan 20:52
33c4a36
Compare
Choose a tag to compare
v0.2.0 Pre-release
Pre-release

Changes since the last release:

  • Better error handling in #3
  • Pool allocator in #4
  • Garbage collection in #5

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

26 Oct 08:23
122d9f4
Compare
Choose a tag to compare
Version 0.1.0 Pre-release
Pre-release

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).