[PLT announcement] PLT Scheme v360

From: Eli Barzilay (eli at barzilay.org)
Date: Mon Nov 20 12:51:07 EST 2006

PLT Scheme version 360 is now available from


* DrScheme now has a macro stepper that traces through macro expansion
  step by step.  The graphical display uses colors to illustrate
  bindings and a side-panel to display additional syntax information.
  For additional information and an illustrated introduction, see

* PLT Scheme now includes a new "Lazy Scheme" language level, similar
  to MzScheme (with a few added libraries), but with call-by-need
  semantics.  There is also a "lazy" collection that can be used to
  mix lazy code with eager code (put the former in a module that uses
  (lib "lazy.ss" "lazy") as its language module).

* New support for prompts and composable continuations, closely
  resembling Dorai Sitaram's tagged `%' and `fcontrol' operators.  The
  new "control.ss" library provides implementations of many other
  delimited-continuation operators, including `prompt', `control',
  `shift', `reset', `spawn', `splitter', and `cupto'.  Moreover, these
  operators all work in a reasonable and useful way with each other,
  with `dynamic-wind', and with continuation marks (which can be used
  for dynamic variables).
  For more information, see Sitaram's papers at

* Regexp support now includes the usual collection of
  "Perl-compatible" features: numeric quantifiers, backreferences,
  character classes, Unicode predicates, case-insensitive mode,
  multi-line mode, lookahead, lookbehind, non-backtracking, and
  conditionals --- all with improved performance.

* Compiler improvements include a lambda-lifting pass and better
  handling of `call-with-values'.

* The "readline" collection is now included.  MzScheme cannot load
  this library by default, since linking to GNU readline would require
  licensing PLT Scheme under GPL instead of LGPL. However, you can
  link readline yourself by adding

    (when (regexp-match? #rx"xterm" (getenv "TERM"))
      (dynamic-require '(lib "rep.ss" "readline") #f))

  in your "~/.mzschemerc" to use readline for MzScheme's REPL.

Feedback Welcome,
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                  http://www.barzilay.org/                 Maze is Life!

Posted on the announce mailing list.