Skip to content

Latest commit

 

History

History
254 lines (159 loc) · 7.03 KB

CHANGELOG.md

File metadata and controls

254 lines (159 loc) · 7.03 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.34 - 2024-01-14

Changed

  • Updated kernel to S36.0.
  • Bumped default Chez version to 9.6.4.

0.33 - 2023-08-19

Changed

  • Updated kernel to S34.5.

0.32 - 2023-07-02

Fixed

  • Fix close so that it returns an empty list as declared by the Shen kernel.

0.31 - 2023-07-02

Changed

  • Updated kernel to S34.4.

0.30 - 2023-04-02

Changed

  • Updated kernel to S34.3.

0.29 - 2022-12-10

Changed

  • Updated kernel to S34.2.

0.28 - 2022-11-27

Changed

  • Updated kernel to S34.1.

0.27.1 - 2022-10-09

Changed

  • Updated kernel to S33.1.2.
  • Bumped default Chez version to 9.5.8.

0.27 - 2022-10-09

Changed

  • Updated kernel to S33.1.1.
  • Improved compilation of factorized defuns that generates code as efficient as the pre-S-kernel version.

Removed

  • Special treatment of scm. prefixed functions was removed. The new foreign form must now be used.

0.26 - 2022-09-10

Changed

  • Updated kernel to S33.1
  • Origin of raised exceptions is not shown anymore my default. This can be changed by setting shen.*show-exceptions* to true.

0.25.5 - 2022-09-06

Fixed

  • pr override now respects *hush*'s value.

0.25.4 - 2022-09-04

Fixed

  • eval-kl now correctly returns the name of the defined function when evaluating defun expressions.
  • The exception raised by abort and shen.string-match is now recognized as an interactive error in the REPL and no exception message is displayed.

0.25.3 - 2022-07-31

Changed

  • Updated kernel to S32.3

0.25.2 - 2022-05-21

Changed

  • Updated kernel to S32.1

0.25.1 - 2022-03-06

Changed

  • Updated kernel to S32

0.25 - 2022-03-06

Changed

  • Updated for new S-series kernel (version S31)

0.24 - 2021-03-07

Changed

  • Updated for Shen 22.4.

0.23 - 2020-12-13

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.

0.22 - 2019-10-01

Changed

  • Updated for Shen 22.1.
  • Replace factorisation implementation with extension from kernel.

0.21 - 2019-09-26

Added

  • Integrated new features extension provided by the latest Shen kernel release.

Changed

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

0.20 - 2019-09-23

Added

  • Added flag to allow disabling of pattern factorization.

Changed

  • 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 single if + and.
  • Compile chains of cons calls that result in a properly formed list into a single list call.
  • Multiple aesthetic changes to the Scheme code the compiler generates.

0.19 - 2019-09-22

Added

  • Implemented pattern matching optimization. Speedup goes from modest in simple patterns to huge in patterns that deconstruct larger structures.
  • Added missing *release* variable.

Changed

  • Updated for Shen 21.2.
  • Functions generated by compiling defun expressions are not wrapped in begin expressions anymore.

0.18 - 2019-09-02

Added

  • Add shen-scheme.find-library function that returns a path where libraries can be added.
  • Add support for Scheme's letrec through the scm.letrec form.

Changed

  • 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 for scm. prefixed symbols.
  • Remove "whoami" dependency.
  • Fix compilation of let. Was not working correctly in where the variable name showed up on the right-side.
  • Compile (thaw ...) expressions to direct function calls.
  • Use path relative to shen-scheme executable as home.

0.17 - 2018-02-17

Added

  • Add support for (scm. "(literal scheme code)") forms.
  • Add --eval <expression> command-line option.

Changed

  • 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").
  • Fix dicts not working properly with some key value types.
  • Fix symbol? override so that it behaves like the Shen Kernel version.

0.16 - 2018-01-13

Changed

  • Updated for Shen 20.1.
  • Totally rewritten compiler in Shen.
  • Swiched platform to Chez Scheme.

Removed

  • Dropped support for Gauche Scheme and Chibi Scheme.