posted by Eli Barzilay
Racket version 5.1.2 is now available from http://racket-lang.org/
The download page includes 64-bit installers for Mac OS X, Windows, and two Debian flavors. Racket now supports OS X Lion.
Racket now includes a new
racket/placelibrary to support parallelism, complementing
racket/future. Racket’s parallel build process is now based on places instead of multiple OS processes.Places support share-nothing parallelism and message-passing communication. Compared to futures, places are heavyweight, but they have a simpler performance model.
The syntax-certificate system has been replaced by a syntax-taint system. Both certificates and taints were designed to protect otherwise inaccessible bindings from abuse when they appear in macro expansions. Taints are simpler and lighter, and the switch closes known holes in the certificate system. Macros that are not implemented with
define-syntax-rule, however, must explicitly use
syntax-protectto protect their expansions from abuse.
net/urllibrary supports HTTPS connections, but beware that by default all sites are accepted (equivalent to ignoring a browser’s warnings about untrusted certificates).
Error messages in the student languages use a simplified vocabulary and consistent phrasings. If you maintain curriculum material or teachpacks then please consider updating. See the “Error Message Composition Guidelines” section in the documentation for details.
Typed Racket: almost all core Racket data structures and operations are now accessible in Typed Racket (most of this work is due to prolific contributor Eric Dobson). The performance of the typechecker has been significantly improved.
scriblib/bibtexlibrary supports BibTeX-formatted citation databases in Scribble documents. BibTeX can be tricky to parse, so please report failed entries as bug reports.
forforms now support an
#:unlessclause, and a nonnegative integer can be used as a sequence. The new
compose1function creates single-valued composition functions. The
racket/functionlibrary now provides
The license has been clarified: we now use LGPLv2.1 uniformly. (The license file used to specify LGPLv2, contrary to the download pages.)