Releases: Shen-Language/shen-cl
Releases · Shen-Language/shen-cl
v3.0.3
v3.0.2
Changed
- Overrides for
symbol?
andvariable?
. This speeds up the time it takes foreval
to compile expressions considerably.
v3.0.1
Changed
@p
andvector
constructors are now overriden by better performing native implementations.read-file-as-bytelist
,shen.read-file-as-charlist
andshen.read-file-as-charlist
are also overriden by native implementations.
v3.0.0
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
Updated to Shen Open Source Kernel 22.1
Changed
- Reintroduced backend written in Shen.
- Moved everything in the compiler from the
shen
namespace toshen-cl
. - Command-line handling has been replaced by the "launcher" kernel extension.
do
expressions now get compiled intoPROGN
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 toshen-cl.true?
).
v2.6.1
Updated to Shen Open Source Kernel 21.2
Changed
*port*
is now a string with amajor.minor.patch
format.- Errors raised when evaluating
--load
and--eval
arguments now print error and exit with code 1.
v2.6.0
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
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 returnstrue
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 ofwget
on macOS.
v2.4.0
Updated to Shen Open Source Kernel 21.1.
v2.3.0
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.