Skip to content

Commit

Permalink
Add new changelog with KeepAChangelogFormat
Browse files Browse the repository at this point in the history
  • Loading branch information
tizoc committed Dec 13, 2020
1 parent 93c40da commit 5f8f1df
Show file tree
Hide file tree
Showing 2 changed files with 124 additions and 109 deletions.
111 changes: 2 additions & 109 deletions CHANGELOG → CHANGELOG-OLD
Original file line number Diff line number Diff line change
@@ -1,113 +1,6 @@
Unreleased
See CHANGELOG.md for newer versions.

* Updated for Shen 22.3.

* Enabled `programmable-pattern-matching` extension.

* `if` branches with a known test result are optimized away.

* Added non-string version of special `scm.` form.

* Faster equality check against literal numbers.

* Faster globals.

* Various other optimizations.


0.22

* Updated for Shen 22.1.

* Replace factorisation implementation with extension from kernel.

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

0.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 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:

* 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 in `begin` expressions anymore.

0.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 for `scm.` 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 the `scm.letrec` form.

* Compile `(thaw ...)` expressions to direct function calls.

* Use path relative to shen-scheme executable as home.

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

0.16

* Updated for Shen 20.1.

* Totally rewritten compiler in Shen.

* Swiched platform to Chez Scheme.

* Dropped support for Gauche Scheme and Chibi Scheme.

0.15
0.15:

* Updated for Shen 20.0.

Expand Down
122 changes: 122 additions & 0 deletions CHANGELOG.md
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

0 comments on commit 5f8f1df

Please sign in to comment.