pkgsrc changes:
- Remove no longer needed patches/patch hunk applied upstream
Changes:
0.9.1
-----
Bugfix release with several bugs fixed, notably:
* equal? hash tables had a sporadic bug with string and vector keys
* the distribution of random numbers with bignum values had gaps
* minor fixes for SRFI 160 and SRFI 144
0.9
---
This release includes complete builtin support for the Tangerine
Edition of the R7RS large language. With the ambitious scope
of R7RS large, it's unlikely further editions will continue to have
builtin support, and will instead rely on external repositories like
snow-fort.
A new compile-time option can enable O(1) string-ref using
an offset lookup table. It is disabled by default because it's
still slower than string cursors, and has some small additional
overhead in memory, I/O and the FFI.
Other notable changes include:
* A novel syntax-case implementation built on ER macros
by Marc Nieper-Wißkirchen.
* Improved Windows support by Yuki Okumura, and BSD support
thanks to Kris Katterjon, Andrew Gwozdziewycz, and Taylor Campbell.
* LIghtweight library aliases.
* Native SRFI 160 uniform vectors, with FFI and read/write support.
* A startup option can enable strict string-cursor checks,
so that cursors can only be used with the string they reference.
* JSON read/write support, with utilities to read records.
* Diff highlighting in unit test failures.
* Updated to Unicode 13.
* ... plus many new SRFIs, portability improvements, and bugfixes.
Not counting aliases and test packages, Chibi now comes with
over 200 libraries in the base distribution, with many more available
on snow-fort.org.
Chibi-Scheme is a very small library intended for use as an extension
and scripting language in C programs. In addition to support for
lightweight VM-based threads, each VM itself runs in an isolated heap
allowing multiple VMs to run simultaneously in different OS threads.
The default repl language contains all bindings from R7RS small,
available explicitly as the (scheme small) library.
Support for additional languages such as JavaScript, Go, Lua and Bash
are planned for future releases. Scheme is chosen as a substrate
because its first class continuations and guaranteed tail-call
optimization makes implementing other languages easy.