PLT Scheme v4.2.2
posted by Eli Barzilay
PLT Scheme version 4.2.2 is now available from http://plt-scheme.org/
-
DrScheme now, by default, compiles all of the files that are loaded when it runs a program and saves the compiled files in the filesystem. This should lead to faster load times (not faster runtimes) since it avoids re-compiling files whose dependencies have not changed.
-
New Scribble libraries and documentation make it easier to get started with Scribble, especially for uses other than PLT documentation. DrScheme now has better indentation and syntax coloring support for Scribble languages (and generally all @-exp based languages).
-
The new
syntax/keyword
library provides support for macros with keyword options. A new quick start guide has been added to the documentation for thesyntax/parse
library. -
Added support for abstract contracts via the #:exists keywords. This is an experiment to add support for data hiding to the contract system.
-
Added
in-producer
: a sequence expression makes it easy to iterate over producer functions (e.g.,read
). A newscheme/generator
library creates generators that can use a (parameterized) yield function. -
HtDP langs: several primitives now consume 0 and 1 arguments in ISL (and up), including
append
,+
and*
. In addition,make-list
was added to the primitives. -
The API to Universe has a number of new constructs. All Universe programs should run unchanged. The most important change is the addition of
animate
as an alternative name forrun-simulation
. In addition, adding the clause(state true)
to a world description now pretty-prints the state of the world into a separate canvas. -
A number of changes were made to the DeinProgramm / DMdA language levels: The
check-property
andcontract
forms were added,define-record-procedures-parametric
has changed. See the documentation for details. -
The test engine in the HtDP languages no longer warns programmers when the Definitions window has no tests.
-
ProfessorJ (and related code) is no longer included in the PLT distributions. It may re-appear in the future as a PLaneT package.