07 Nov 2010
Racket v5.0.2
posted by Eli Barzilay
Racket version 5.0.2 is now available from http://racket-lang.org/
-
Typed Racket’s optimizer is now turned on by default; error messages have been simplified and clarified.
-
Contracts: contracts on mutable containers allow functions or other higher order values, and contracts are checked when updating or dereferencing the containers. The new contracts are slower than the old ones, so the old check-once functionality is still available.A new dependent function contract combinator,
->i
, properly assigns blame for contracts that violate themselves and the generated wrappers are more efficient than->d
. (Although it does more checking so your contracts may be faster or slower).See the docs forbox/c
,hash/c
,vector/c
,vectorof
and->i
for more details. -
The
when
,unless
,cond
,case
, andmatch
forms (inracket/base
and derived languages) now allow immediate internal definitions. -
Web server: the formlets library provides more HTML form elements;
make-xexpr-response
supports a preamble for DTD declarations;serve/servlet
supports stateless servlets. -
New WebSocket implementation, see
net/websocket
for details. -
The new
data
collection contains implementations of several data structures, including growable vectors and order-based dictionaries. -
racket/match
is now significantly faster. -
The Racket documentations are built in parallel by default.
-
The stepper is now compatible with programs using the Universe teachpack.
-
2htdp/image
: pinholes are now supported in the library (if you don’t use pinhole primitives you will not see them); a number of new triangle functions added; supports conversion of images to color lists and back. Also, cropping has been improved for scenes; see the documentation section on the nitty-gritty of pixels for details. -
Signatures have been moved to ASL, BSL, BSL+, ISL, and ISL+ (HtDP teaching languages) no longer support checked signatures.
-
Student languages: one-armed
check-error
in all levels; ASL is extended with hash operations, anddefine-datatype
. -
DMdA languages: Checking for parametric signatures is now eager. This catches errors earlier, but retains the asymptotic complexity properties; signatures for record types now have generators;
list-of
andany
signatures are now provided.