Releases: tizoc/shen-scheme
Releases · tizoc/shen-scheme
v0.25
Changed
- Updated for new S-series kernel (version S31)
v0.25-rc1
v0.24
Changed
- Updated for Shen 22.4.
v0.23
Added
- Enabled
programmable-pattern-matching
extension. - Non-string version of special
scm.
form.
Changed
- Updated for Shen 22.3.
- Updated Chez dependency to 9.5.4.
if
branches with a known test result are optimized away.- Faster equality check against literal numbers.
- Faster globals.
- Various other optimizations.
v0.22
- Updated for Shen 22.1
- Replace factorisation implementation with extension from kernel.
v0.21
- Updated for Shen 22.0.
- Arguments to the shen-scheme binary have changed, and the launcher extension provided by the latest Shen kernel release is used, pass the
--help
argument to the executable to see the new format. - Integrated new
features
extension provided by the latest Shen kernel release.
v0.20
- Added flag to allow disabling of pattern factorization.
- Improve pattern factorization by only hoisting labels that get jumped to from more than one place.
- Improve pattern factorization by generating fewer
ifs
in cases where the conditions can be merged into a singleif
+and
. - Compile chains of
cons
calls that result in a properly formed list into a singlelist
call. - Multiple aesthetic changes to the Scheme code the compiler generates.
v0.19
- Updated for Shen 21.2.
- Implemented pattern matching optimization. Speedup goes from modest in simple patterns to huge in patterns that deconstruct larger structures.
- Added missing
*release*
variable. - Functions generated by compiling
defun
expressions are not wrapped inbegin
expressions anymore.
v0.18
- Updated for Shen 21.1.
- Updated Chez dependency from 9.5 to 9.5.2.
- Don't flush ports after calling
write-byte
unless the port is stdout or stderr. - Override
pr
with a better performing implementation. - Override
vector
constructor with better performing implementation. - Override
@p
tuple constructor with better performing implementation. - Make
sysfunc?
return true forscm.
prefixed symbols. - Add
shen-scheme.find-library
function that returns a path where libraries can be added. - Remove "whoami" dependency.
- Fix compilation of
let
. Was not working correctly in where the variable name showed up on the right-side. - Add support for Scheme's
letrec
through thescm.letrec
form. - Compile
(thaw ...)
expressions to direct function calls. - Use path relative to shen-scheme executable as home.
v0.17
- Updated for Shen 21.
- Reduce overhead of
trap-error
in most situations. - Return numbers when calling
intern
with numeric strings. - Optimise calls to
(intern "StringConstant")
. - Add support for
(scm. "(literal scheme code)")
forms. - Add
--eval <expression>
command-line option. - Fix dicts not working properly with some key value types.
- Fix
symbol?
override so that it behaves like the Shen Kernel version.