Racket v5.1.2
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/place
library to support parallelism, complementingracket/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
syntax-rules
ordefine-syntax-rule
, however, must explicitly usesyntax-protect
to protect their expansions from abuse. -
The
net/url
library 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.
-
The
scriblib/bibtex
library supports BibTeX-formatted citation databases in Scribble documents. BibTeX can be tricky to parse, so please report failed entries as bug reports. -
The
for
forms now support an#:unless
clause, and a nonnegative integer can be used as a sequence. The newcompose1
function creates single-valued composition functions. Theracket/function
library now providesidentity
,thunk
, andthunk*
. -
The license has been clarified: we now use LGPLv2.1 uniformly. (The license file used to specify LGPLv2, contrary to the download pages.)