[plt-dev] Release Announcement for v4.2.5 -- final version

From: Eli Barzilay (eli at barzilay.org)
Date: Fri Apr 2 15:39:22 EDT 2010

All items are in and a little re-ordered.
* PLT now supports multi-core parallelism via futures.  Futures
  create tasks that run in parallel, as long as the tasks stay in
  the "fast path" of the runtime system.  For more information, see:
  http://tinyurl.com/futuresguide .

* Our unit testing framework, schemeunit, is now included in the
  distribution.  A graphical test runner is available via

* The support languages for the "Programming Languages: Application
  and Interpretation" textbook by Shriram Krishnamurthi are now part
  of PLT Scheme.  In addition the PLAI GC language comes with a
  random mutator generator (to help test collectors) and an improved
  heap visualizer.

* New Russian and Ukranian translations, thanks to Sergey Semerikov.

* A number of improvements to Redex's typesetting facilities.

* Typed Scheme users can now automatically generate predicates from
  types with `define-predicate'.  Typed code can be inserted in
  untyped modules by requiring `with-type' from `typed/scheme'.

* The `scheme/class' library now provides contract combinators for
  classes (`class/c') and objects (`object/c').  See the Reference
  and Guide for details.  Also, a backwards-compatible
  `object-contract' version of `object/c' has replaced the old
  `object-contract' combinator.

* Writing new kinds of contracts is now easier with keyword-based
  constructors (`make-contract' and `make-flat-contract'), a simpler
  set of structure properties (`prop:contract' and
  `prop:flat-contract'), and the introduction of blame objects for
  tracking contract metadata.

* The Scheme-implemented bytecode reader fails less often.  This is
  used by "mzc --decompile".  The Scheme-implemented bytecode writer
  uses the compact bytecode format and fails less often.  This may
  be used in the future for Scheme-implement bytecode processors.

* The language dialog now suggests using "#lang" more strongly as
  the default language.  DrScheme no longer uses the term `Module
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the dev mailing list.