Scheme 48


Current release

Previous releases

R5RS

More code

Scheme links

Release notes for version 1.3

  • Additions:
    • A collection of libraries implementing the Concurrent ML model for concurrent programming has been added; it is compatible to the CML libraries in Sunterlib. See the documentation for details.
    • Support for SRFIs 34-36 ("Exception handling for programs", "Conditions", "I/O conditions") has been added. This is in the conditions, exceptions, and i/o-conditions structures, for which the srfi-34, srfi-35, and srfi-36 structures are essentially aliases. A bridging infrastructure between the old condition system and the new one translates condition objects back and forth, hopefully transparently for the user.
    • A new infrastructure for dynamically loading external libraries from shared objects has been added; check the manual for details. The old infrastructure is still presented, but is unsupported on Windows and will be removed in a future release.
    • The S48_GC_UNPROTECT_GLOBAL macro has been added, which allows to remove a root added by S48_GC_PROTECT_GLOBAL.
    • The Scheme 48 header files should now be compileable by a C++ compiler.
    • An experimental Windows port has been added.
  • Changes:
    • The HTML manual is now generated with tex2page.
    • A number of changes to the VM to support the (future) native-code compiler have been made.
    • The PreScheme type rule for if is now more strict, thus disallowing code that would lead to invalid C output. (This fixes a bug reported by Markus Ziegler.)
  • Bug fixes:
    • The traverse structure for displaying heap statistics has been re-enabled.
    • A number of misues of call-error have been corrected (reported by Taylor Campbell).
    • The value-pipes package works again (fix by Taylor Campbell).
    • In PreScheme it is now possible to shift integers by non-constant shift widths.
    • Logical right shifts in PreScheme work now (reported by Taylor Campbell).
    • A bug in terminate-thread! was fixed (reported by Taylor Campbell).
    • A bug in the implementation of ,exit-when-done was fixed.
    • A bug in the regexp-matching code that prevented matching the empty string correctly was fixed.
    • A bug in the implementation of string-contains from srfi-13 was fixed.
    • A bug in the implementation of :while in srfi-42 was fixed (submitted by Sebastian Egner).
    • Bugs in the implementations of angle and magnitude were fixed.
    • An obscure bug in the implementation of apply (which was triggered by certain instances of (apply apply ...) ) was fixed.
    • For a degenerate case of iterate, the code was made to conform the documentation (reported by Taylor Campbell).
    • Various miscellaneous fixes.
Release notes for version 1.2.

Jump to top of page.