From: Eli Barzilay <eli@barzilay.org> To: plt-scheme@list.cs.brown.edu, plt-announce@list.cs.brown.edu Subject: [PLT announcement] PLT Scheme v360 Date: Mon, 20 Nov 2006 12:51:07 -0500 PLT Scheme version 360 is now available from http://download.plt-scheme.org/ * 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 http://www.ccs.neu.edu/home/ryanc/macro-stepper * 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 http://www.ccs.neu.edu/scheme/pubs/ * 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!