Release Notes: The major changes in this release are performance improvements for variable access by using a Map to store variables within an environment, and improved support for comparing instances of functions using the equality operators.
Release Notes: This release continues the trend of quick point releases for the 3.4.x series. The key change is support for GHC 7.2.
Release Notes: This release updates (let-syntax) and (letrec-syntax) to prevent conflicts between identifiers of the same name in the outer scope and within the macro body. It modifies (append) to accept an arbitrary number of arguments, per R5RS. It replaces the macro for (case) with the one from R5RS.
Release Notes: Many improvements and bug fixes for let-syntax and letrec-syntax, and improved handling of define and set! within a macro definition.
Release Notes: This release adds experimental support for let-syntax and letrec-syntax and fixes two critical macro-related bugs.
Release Notes: This release adds the first hygienic macro support to husk. There are two "sides": hygiene and referential transparency. Support has been added for both sides, although there are some issues as noted in the Version 3.4.x Milestones. Macro support will continue to improve in future releases. There are some bugfixes.
Release Notes: This release includes major improvements to the macro module. In particular, husk now supports arbitrary nesting levels of macro 0-or-many matches and macros now correctly handle improper lists. The parser has also been updated to simplify improper lists. For example, '(1 2 . (3 . ())) will now be converted to (1 2 3).
Release Notes: A conditional compilation check was added, allowing husk to build on both GHC 6 and GHC 7.
Release Notes: Significant improvements were made to the parser, including proper handling of whitespace and comments. This represents a critical upgrade from the previous releases. In addition, support was added for nested block comments using #| and |#, per the R7RS draft. Hash-table-fold was also added.
Release Notes: Issues with lexical scoping of special forms were fixed. "cond", "and", and "or" were implemented using the corresponding macros from R5RS. A gensym primitive was added. Macro support was marked as non-hygienic since hygiene is not fully supported at present.