Released Version 3.7
A major change for this release is the introduction of Scheme libraries using R7RS library syntax. For an example of how to use libraries, see examples/hello-library/hello.scm in the husk source tree. Note that since R7RS is not currently implemented by husk, the library system only has the built-in import (r5rs base) which allows you to import the standard husk R5RS environment. Also, please keep in mind this is still a beta feature that is not yet implemented by the compiler.
This release also contains many improvements to the Haskell API:
- Added
r5rsEnvto the Core module to expose the full environment, including functions loaded from the Scheme standard library. - Added
getDataFileFullPathto the Core module to allow third party code to reference Scheme files such asstdlib.scmthat are installed alongside husk. - Modified
NumArgsto optionally require an explicit number of arguments. This helps when writing variable-length functions where specifying a single number of arguments may be misleading. - Added a new module
Language.Scheme.Utilto contain general purpose utility functions.
Bug fixes:
- Updated the parser to accept floating point numbers that contain only a fractional component, such as
.5. - Enhanced numerical comparison operators (
=,<,<=,>,>=) to be able to accept an unlimited number of arguments, per R5RS.