From: Eli Barzilay <>
Subject: [plt-scheme] PLT Scheme v370
Date: Mon, 21 May 2007 18:26:21 -0400

PLT Scheme version 370 is now available from

Some highlights:

* The conservative garbage collector (CGC) has been replaced with a
  precise garbage collector (3m) in the standard build.  For most
  users, this change simply amounts to "better performance in space
  and time".  For example, a long-running DrScheme instance typically
  uses much less memory than before.

  The new memory manager also supports a new "Limit Memory..." option
  (in DrScheme’s "Scheme" menu) to limit the memory use of a
  programming running inside DrScheme.

  For those who work with C-implemented libraries and extensions, the
  switch to precise collection may complicate interoperability.  To a
  large extent, however, `(lib "")’ works the same with both
  collectors.  (But note that the 3m is a moving collector, so be
  careful with passing Scheme objects to C.)

  Although our pre-built binaries use the new collector, builds from
  source using the conservative collector are still supported.

* For a program written with one of the the "How to Design Programs"
  (HtDP) languages, DrScheme saves the program with meta-information
  that identifies the language and records the teachpacks used by the
  program.  DrScheme’s teachpack GUI now works only with the HtDP
  languages.  In other languages, use `require’ to access teachpacks.

  The meta-information is in the form of a reader extension that turns
  the file content into a `module’-based program, which means that
  teaching-language files can be loaded directly into MzScheme or used
  with other PLT Scheme tools.

* The HtDP "" and "" teachpacks have been revised,
  including support for the creation of animated GIFs.

* Unit-based servlets are no longer supported in the web server.  Use
  module-based servlets, instead.  (Servlets can be implemented using
  a `unit’ within a `module’, but the web server’s API is provided
  through a module.)

* A new `(lib "")’ library replaces the old one and provides a
  simpler and more flexible syntax.  The `(lib "")’ library
  is deprecated but still available as `(lib "")’, and
  the old `(lib "")’ is available as `(lib "")’.

Feedback Welcome,
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                         Maze is Life!