GitHub repository: yamacir-kit/meevax
Description: A programmable programming language
Topics: lisp, programming-language, r7rs-small, scheme

Version 0.5.107: tag_name: v0.5.107
body: ## New features
- Experimental support for `make` with custom allocators (#470)
- Allow passing traits that define member type `type` as the first template parameter for `make` and `define` (#469)

_Note: `make` with custom allocators is not recommended due to some problems found with custom allocator lifetime and garbage collector destruction timing._

## Obsolete features
-  The array subscript operator for object type has been removed (#470)

## Bug fixes
None.

## Miscellaneous changes
- Move free function `meevax::kernel::dlopen` and `meevax::kernel::dlsym` into class `meevax::memory::collector` (#472)
Version 0.5.66: tag_name: v0.5.66
body: ## New features
None.

## Obsolete features
None.

## Bug fixes
None.

## Miscellaneous changes
None.

Version 0.5.63: tag_name: v0.5.63
body: ## New features
- R7RS-large library `(scheme list)` ([737fbf1](https://github.com/yamacir-kit/meevax/pull/467/commits/737fbf168018c1e8b2c5622bff3268401a5af25c))

## Obsolete features
None.

## Bug fixes
None.

## Miscellaneous changes
- SRFI-1 procedures that are not higher-order functions have been updated to be built-in  (#467)
Version 0.5.32: tag_name: v0.5.32
body: ## New features
- R7RS-large library `(scheme box)` (#465)

## Obsolete features
- The library `(scheme r4rs essential)` has been obsolete (#465)

## Bug fixes
None.

## Miscellaneous changes
- Most procedures in R4RS have been updated to be built-in (#464)
- The built-in procedure definition API has been simplified. The trade-off is increased binary size (#465)
- The library `(meevax function)` has been renamed to `(meevax procedure)` (#464)
Version 0.5.0: tag_name: v0.5.0
body: ## New features
- Character type procedures work even with non-ASCII range characters as shown in R7RS (#462)
- Library `(meevax boolean)` (#461)
- Compliant with R7RS small (#461)

## Obsolete features
- Procedure `disassemble`
- Library `(meevax experimental)`

## Bug fixes
- Fix a bug where symbols with whitespace are not printed correctly (#461)
- Fix a bug where the procedure `abs` would return `-0.0` instead of `0.0` for `(abs -0.0)` (#461)

## Miscellaneous changes
- Move procedure `char->integer` into library `(meevax character)` from `(meevax number)` (#462)
- Update procedure `list`, `memv` and `memq` to built-in (#461)
Version 0.4.779: tag_name: v0.4.779
body: ## New features
- R7RS-small internal syntax definition (#459)
- Linked list iterators automatically detect circular lists (#460)
- The procedure `equal?` compares graphs using the Union-Find algorithm (#459)
- SRFI 111 (#459)

## Obsolete features
None.

## Bug fixes
- Fixed a bug that circular lists were not written correctly (#460)

## Miscellaneous changes
- Remove struct `meevax::iterator` (#460)
- Add struct `meevax::pair::iterator` (#460)
Version 0.4.752: tag_name: v0.4.752
body: ## New features
- R7RS-small syntax `case-lambda` (#456)
- R7RS-small library `(scheme case-lambda)` (#456)
- SRFI 16 (#456)
- The ability to treat identifiers given as a list of identifiers in the second argument `free-names` of `make-syntactic-closure` as free variables in the form that the syntactic closure encloses (#457)

## Obsolete features
None.

## Bug fixes
- A problem where the compiler does not properly handle syntactic closures that appear as variadic formals (#456)

## Miscellaneous changes
- Struct `export_spec` and `import_set` have been removed (#458)

Version 0.4.724: tag_name: v0.4.724
body: ## New features
- R7RS-small syntax `include` (#453)
- R7RS-small directive `#!fold-case` and `#!no-fold-case` (#454)
- UTF-8 support for character literal notation `#\<character>` (#454)
- R7RS-small syntax `include-ci` (#453)
- R7RS-small syntax `cond-expand` (#452)
- SRFI 0 (#452)
- R7RS-small library declaration `include` and `include-ci` (#455)
- R7RS-small library declaration `include-library-declarations` (#455)
- R7RS-small library declaration `cond-expand` (#455)

## Obsolete features
- Common Lisp-style complex literal notation (#454)
- Common Lisp-like car/cdr behavior (returns an empty list if given an empty list) (#452)

## Bug fixes
- A bug that the procedures `with-input-from-file` and `with-output-to-file` did not work properly because they internally used procedures that were not imported (#455)

## Miscellaneous changes
- Function `read` has been moved from the `reader` class to `textual_input_port` (#454)
- Class `reader` has been removed (#454)
Version 0.4.686: tag_name: v0.4.686
body: ## New features
- Support R7RS-small library `(scheme time)` (#450)
- Support all port-related procedures in the　R7RS-small library `(scheme base)` (#451)
- Support R7RS-small library `(scheme file)` (#451)

## Obsolete features
None.

## Bug fixes
None.

## Miscellaneous changes
None.
Version 0.4.653: tag_name: v0.4.653
body: ## New features
- Support SRFI 31 (#446)
- Provide more `(scheme base)` numerical procedures as C++ functions (#449)
- Support R7RS bytevector procedures (#448)
- Support SRFI 4 (#448)
- Support SRFI 98 (#446)
- Support R7RS small library `(scheme process-context)` (#446)

## Obsolete features
- Left and right square brackets and braces are no longer allowed as input (#447)
- Remove SRFI 211, which is unlikely to ever be fully supported (#446)

## Bug fixes
None.

## Miscellaneous changes
- Remove miscellaneous version-related functions (#447)
- Significantly reduced the binary size of libmeevax by rewriting math operations (#449)
Version 0.4.597: tag_name: v0.4.597
body: ## New features
- Support SRFI-9 (#444)
- Support define-record-type (#444)

## Obsolete features
- Remove procedure `describe` (#445)

## Bug fixes
- Fix a bug that SRFI 78 `check` does not evaluate \<expected> clauses (#444)
- Fix a bug that interactive sessions were started with or without option `--interactive` (#445)

## Miscellaneous changes
- Remove some unused Scheme sciprts (#444)
- Remove some unused C++ header/source files (#444)
- Update SRFI-8 to use reference implementation (#444)
- Update option `--evaluate` behavior to be the same as Gauche (#445)
Version 0.4.567: tag_name: v0.4.567
body: ## New features
- Support define-values (#438)
- Support internal define-values (#439)

## Obsolete features
- Remove instruction `%define` (#439)
- Remove command line option `--trace` (#441)
- Remove compiler's ability to treat transformer application as macro use (#442)
- A local procedure can no longer be called inside a macro transformer of a local macro (#442)
- Remove instruction `%define-syntax`, `%let-syntax`, `%letrec-syntax` (#442)
- Remove compiler's ability to treat syntax application as a valid expression (#441)

## Bug fixes
- Fix a bug where certain tail calls were not properly tail call optimized (#437)
- Fix the problem that multiple definitions wrapped in `begin` in lambda body could not be handled properly (#440)
- Fix a bug where a reference to a bound variable inserted by a syntactic closure would reference an unintended variable (#442)

## Miscellaneous changes

- Changed the identity type to be a tag type instead of an abstract class (#439)
- No longer distinguish between `define` and `set!` at the instruction level (#439)
- Remove the keyword type and integrated it into the absolute type (#441)
- Remove the intrinsic type that was responsible for the experimental inlining feature (#441)
- Add new type `syntactic_environment` (#443)
- Separate syntactic environment from environment (#443)
- Rename type `machine` to `dynamic_environment` (#443)
- Remove type `syntactic_continuation` (#443)
- Merge library `(meevax dynamic-environment)` into `(meevax syntax)` (#441)
- Rename library `(meevax syntax)` to `(meevax core)` (#441)
Version 0.4.465: tag_name: v0.4.465
Version 0.4.439: tag_name: v0.4.439
Version 0.4.363: tag_name: v0.4.363
Version 0.4.302: tag_name: v0.4.302
Version 0.4.278: tag_name: v0.4.278
Version 0.4.232: tag_name: v0.4.232
Version 0.4.166: tag_name: v0.4.166
Version 0.4.117: tag_name: v0.4.117
Version 0.4.81: tag_name: v0.4.81
Version 0.4.64: tag_name: v0.4.64
Version 0.4.40: tag_name: v0.4.40
Version 0.4.0: tag_name: v0.4.0
Version 0.3.1022: tag_name: v0.3.1022
Version 0.3.970: tag_name: v0.3.970
Version 0.3.948: tag_name: v0.3.948
Version 0.3.818: tag_name: v0.3.818
Version 0.3.791: tag_name: v0.3.791
Version 0.3.783: tag_name: v0.3.783
Version 0.3.773: tag_name: v0.3.773
Version 0.3.727: tag_name: v0.3.727
Version 0.3.682: tag_name: v0.3.682
Version 0.3.629: tag_name: v0.3.629
Version 0.3.597: tag_name: v0.3.597
Version 0.3.545: tag_name: v0.3.545
Version 0.3.517: tag_name: v0.3.517
Version 0.3.491: tag_name: v0.3.491
Version 0.3.474: tag_name: v0.3.474
Version 0.3.409: tag_name: v0.3.409
Version 0.3.334: tag_name: v0.3.334
Version 0.3.303: tag_name: v0.3.303
Version 0.3.286: tag_name: v0.3.286
Version 0.3.275: tag_name: v0.3.275