- Fixed override for
shen.dict-foldthat was not properly calling the curried function, which also broke
- Overrides for
variable?. This speeds up the time it takes for
evalto compile expressions considerably.
vectorconstructors are now overriden by better performing native implementations.
shen.read-file-as-charlistare also overriden by native implementations.
Updated to Shen Open Source Kernel 22.2
- 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.
Updated to Shen Open Source Kernel 22.1
- Reintroduced backend written in Shen.
- Moved everything in the compiler from the
- Command-line handling has been replaced by the "launcher" kernel extension.
doexpressions now get compiled into
PROGNexpression, making them tail-call optimization friendly.
- Integrated "features" kernel extension.
- Integrated "launcher" kernel extension.
- Integrated "factorise-defun" kernel extension optimization.
- Source release which includes a pre-compiled
shen-cl.lisp-true?to convert from CL to Shen booleans (counterpart to
Updated to Shen Open Source Kernel 21.2
*port*is now a string with a
- Errors raised when evaluating
--evalarguments now print error and exit with code 1.
--setsets global symbols, removing use case for
- Automated binary builds for Linux, Windows and OSX through Travis.
*argv*has been removed.
-rgets run in left-to-right order like other options.
-hdon't exit immediately after.
- Unrecognized options cause exit with code
-1instead of getting skipped.
- REPL only starts by default if no command line options specified.
shen.creditsto explain exit command.
- Improved help (
shen-cl.eval-lispthat load and evals Lisp code in string form from Shen.
LOAD-SHENthat loads Shen code from Lisp.
:SHENpackage where Shen code is defined by default.
--reploption to force running REPL even if other options would prevent REPL from running.
shen-cl.exit) as it is CL-specific function and not shen-cl-specific function.
absvector?no longer returns
CF-VECTORScan now compare empty absvectors.
- Shen code now gets defined in
:SHENpackage instead of
- Makefile uses
Updated to Shen Open Source Kernel 21.0.
make releasecommand that creates os-specific archive of compiled binaries.
dict.klto list of KL imports.
lisp.form to embed literal Common Lisp code.
condnow raises an error when no condition is true, instead of returning
lisp.prefixed native calls in the compiler.