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
r5rsEnv
to the Core module to expose the full environment, including functions loaded from the Scheme standard library. - Added
getDataFileFullPath
to the Core module to allow third party code to reference Scheme files such asstdlib.scm
that are installed alongside husk. - Modified
NumArgs
to 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.Util
to 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.