-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add new changelog with KeepAChangelogFormat
- Loading branch information
Showing
2 changed files
with
124 additions
and
109 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,122 @@ | ||
# Changelog | ||
|
||
All notable changes to this project will be documented in this file. | ||
|
||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), | ||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). | ||
|
||
## [Unreleased] | ||
|
||
### Added | ||
|
||
- Enabled `programmable-pattern-matching` extension. | ||
- Non-string version of special `scm.` form. | ||
|
||
### Changed | ||
|
||
- Updated for Shen 22.3. | ||
- `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. | ||
|
||
[Unreleased]: https://github.com/tizoc/shen-scheme/compare/0.22...HEAD | ||
[0.22]: https://github.com/tizoc/shen-scheme/compare/0.21...0.22 | ||
[0.21]: https://github.com/tizoc/shen-scheme/compare/0.20...0.21 | ||
[0.20]: https://github.com/tizoc/shen-scheme/compare/0.19...0.20 | ||
[0.19]: https://github.com/tizoc/shen-scheme/compare/0.18...0.19 | ||
[0.18]: https://github.com/tizoc/shen-scheme/compare/0.17...0.18 | ||
[0.17]: https://github.com/tizoc/shen-scheme/compare/0.16...0.17 | ||
[0.16]: https://github.com/tizoc/shen-scheme/compare/chibi-shen-0.15...0.16 |