Log message:
Update to 3.15.1
changelog:
v3.15.1
This is a small bug fix release:
- Preserve macro hygiene when using code that contains explicit renaming
macros contained within syntax-rules macros. Previously, the syntax-rules
system would not pass renamed variables across to the ER system. So an
identifier could be renamed by syntax-rules but the ER macro would then
have no knowledge of the rename and would be unable to use `rename` to make
the identifier hygienic. For example, the code:
(let ((unquote 'foo)) `(,'bar))
Should evaluate to `((unquote (quote bar)))`.
- Added support for multi-line input to `huski`.
- Fixed GHC compiler warnings when building with `-Wall`.
|
Log message:
Import husk-scheme-3.15 as wip/hs-husk-scheme.
Husk is a dialect of Scheme written in Haskell that implements a superset of
the R5RS standard. Advanced features are provided including:
* First-class continuations of unlimited extent
* Hygienic macros based on syntax-rules
* Low-level explicit renaming macros
* Library syntax from the R7RS standard
* A foreign function interface (FFI) to Haskell
* Full numeric tower providing support for real, rational, and complex numbers
* Proper tail recursion and lexical scoping
* Read-Eval-Print-Loop (REPL) interpreter, with input driven by Haskeline
to provide a rich user experience
* Standard library of Scheme functions, and support for many popular SRFI's
Husk may be used as either a stand-alone interpreter or as an extension language
within a larger Haskell application. By closely following the R5RS standard,
the intent is to develop a Scheme that is as compatible as possible with
other R5RS Schemes. Husk is mature enough for use in production, however
it is not optimized for performance-critical applications.
For documentation and examples,
see http://justinethier.github.io/husk-scheme/documentation.html.
For detailed information on each release,
see http://justinethier.github.io/husk-scheme/news.html.
|