Released Version 3.15
The big change for this release is an online User Manual based on the R7RS, that documents Husk’s Scheme and Haskell APIs, and explains the Scheme language as implemented by Husk. This is going to be a work-in-progress but is mostly complete, and can be used immediately as a reference.
In addition, many smaller fixes and enhancements are included:
- Improved library support so that examples no longer require running in a special mode.
- Added missing functions to
(scheme base)
. - Added support for the
(scheme case-lambda)
and(scheme r5rs)
libraries. - Added libraries for SRFI 1, 2, and 69 so that these features are available via
import
. For example:(import (srfi 1))
. - Added
exact-integer-sqrt
from R7RS, using the Chibi scheme reference implementation. - Added
let-values
andlet*-values
from R7RS. - Added the following I/O functions:
binary-port?
,close-port
,input-port-open?
,open-binary-input-file
,open-binary-output-file
,output-port-open?
,read-bytevector
,textual-port?
,u8-ready?
,write-bytevector
. - Allow character and string comparison predicates (such as
string=?
andchar=?
) to support more than two arguments. - Fixed
cond-expand
to supportand
/or
clauses. - Renamed
char-upper
andchar-lower
tochar-upcase
andchar-downcase
to match the Scheme specs.