Skip to content

Releases: Shen-Language/shen-cl

v3.0.3

07 Dec 23:06
Compare
Choose a tag to compare

Fixed

  • Fixed override for shen.dict-fold that was not properly calling the curried function, which also broke shen.dict-keys and shen.dict-values.

v3.0.2

13 Oct 17:33
Compare
Choose a tag to compare

Changed

  • Overrides for symbol? and variable?. This speeds up the time it takes for eval to compile expressions considerably.

v3.0.1

13 Oct 14:50
Compare
Choose a tag to compare

Changed

  • @p and vector constructors are now overriden by better performing native implementations.
  • read-file-as-bytelist, shen.read-file-as-charlist and shen.read-file-as-charlist are also overriden by native implementations.

v3.0.0

12 Oct 15:49
2031112
Compare
Choose a tag to compare

Updated to Shen Open Source Kernel 22.2

Changed

  • New compiler imported from Shen/Scheme. Generates code that performs better and allocates less memory.
  • Common Lisp's read-table case rules are not modified anymore.
  • Bootstraping from scratch requires a working Shen implementation to precompile the compiler code and kernel.

v2.7.0

03 Oct 19:34
Compare
Choose a tag to compare

Updated to Shen Open Source Kernel 22.1

Changed

  • Reintroduced backend written in Shen.
  • Moved everything in the compiler from the shen namespace to shen-cl.
  • Command-line handling has been replaced by the "launcher" kernel extension.
  • do expressions now get compiled into PROGN expression, making them tail-call optimization friendly.

Added

  • Integrated "features" kernel extension.
  • Integrated "launcher" kernel extension.
  • Integrated "factorise-defun" kernel extension optimization.
  • Source release which includes a pre-compiled backend.lsp file.
  • shen-cl.lisp-true? to convert from CL to Shen booleans (counterpart to shen-cl.true?).

v2.6.1

17 Sep 23:48
Compare
Choose a tag to compare

Updated to Shen Open Source Kernel 21.2

Changed

  • *port* is now a string with a major.minor.patch format.
  • Errors raised when evaluating --load and --eval arguments now print error and exit with code 1.

v2.6.0

04 Sep 13:35
Compare
Choose a tag to compare

Added

  • -s/--set sets global symbols, removing use case for *argv*.
  • Automated binary builds for Linux, Windows and OSX through Travis.

Changed

  • *argv* has been removed.
  • -r gets run in left-to-right order like other options.
  • -v, -h don't exit immediately after.
  • Unrecognized options cause exit with code -1 instead of getting skipped.
  • REPL only starts by default if no command line options specified.
  • Amended shen.credits to explain exit command.
  • Improved help (-h) message.

v2.5.0

01 Aug 13:21
Compare
Choose a tag to compare

Added

  • shen-cl.load-lisp, shen-cl.eval-lisp that load and evals Lisp code in string form from Shen.
  • LOAD-SHEN that loads Shen code from Lisp.
  • :SHEN package where Shen code is defined by default.
  • -r/--repl option to force running REPL even if other options would prevent REPL from running.
  • cl.exit (cf. shen-cl.exit) as it is CL-specific function and not shen-cl-specific function.

Changed

  • absvector? no longer returns true for strings.
  • CF-VECTORS can now compare empty absvectors.
  • Shen code now gets defined in :SHEN package instead of :COMMON-LISP package.
  • Makefile uses curl instead of wget on macOS.

v2.4.0

08 Oct 15:06
Compare
Choose a tag to compare

Updated to Shen Open Source Kernel 21.1.

v2.3.0

01 Jun 15:19
Compare
Choose a tag to compare

Updated to Shen Open Source Kernel 21.0.

Added

  • make release command that creates os-specific archive of compiled binaries.
  • dict.kl to list of KL imports.
  • lisp. form to embed literal Common Lisp code.

Changed

  • cond now raises an error when no condition is true, instead of returning [].
  • Reimplemented lisp. prefixed native calls in the compiler.

Renamed

  • exit -> shen-cl.exit.
  • read-char-code -> shen.read-char-code

Removed

  • command-line - use (value *argv*) instead.