Skip to content

@ShenBuildBot ShenBuildBot released this Dec 7, 2019

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

@ShenBuildBot ShenBuildBot released this Oct 13, 2019

Changed

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

@ShenBuildBot ShenBuildBot released this Oct 13, 2019

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.
Assets 7
  • v3.0.0
  • 2031112
  • Compare
    Choose a tag to compare
    Search for a tag
  • v3.0.0
  • 2031112
  • Compare
    Choose a tag to compare
    Search for a tag

@ShenBuildBot ShenBuildBot released this Oct 12, 2019

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

@ShenBuildBot ShenBuildBot released this Oct 3, 2019

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

@ShenBuildBot ShenBuildBot released this Sep 17, 2019

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.
Assets 5

@ShenBuildBot ShenBuildBot released this Sep 4, 2019

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.
Assets 5

@rkoeninger rkoeninger released this Aug 1, 2019

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.
Assets 3

@rkoeninger rkoeninger released this Oct 8, 2018

Updated to Shen Open Source Kernel 21.1.

Assets 3

@rkoeninger rkoeninger released this Jun 1, 2018

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.
Assets 5