From: Eli Barzilay <email@example.com> To: firstname.lastname@example.org, email@example.com Subject: [plt-scheme] PLT Scheme v350 Date: Mon, 19 Jun 2006 01:33:56 -0400 PLT Scheme version 350 is now available from http://download.plt-scheme.org/ Compared to version 301 (the previous stable release), much has changed in the underlying infrastructure of PLT Scheme, but relatively little has changed in the supported languages and libraries. Changes: * New installation process and filesystem layout: the Mac OS X installation is drag-and-drop, the Unix installation matches FHS conventions (if you want), and the Windows installation does not write to the system folder (except to update the registry). In particular, it’s now possible to create a fully functional PLT Scheme installation on a CD-ROM or a USB memory stick. Along with this change, tools to create executables -- including DrScheme’s "Create Executables..." menu item -- can produce self-contained packages (i.e., with all needed DLLs, frameworks, and shared libraries). * ProfessorJ now supports a unit testing mechanism. It extends Java with a "check ... expect" expression for writing test cases, and it automatically evaluates Example classes and test methods, summarizing the results in a window. ProfessorJ also includes a new wizard for generating class and union declarations. The draw library has changed to accommodate multiple worlds (see docs), and a new idraw library supports imperative drawing and animation. * MzScheme includes a just-in-time (JIT) compiler from byte code to native code on x86, x86_64, and PowerPC platforms. The JIT is enabled by default. Performance improvements due to the JIT vary; the following timings on a 2GHz MacBook provide some idea of the spectrum: Shootout benchmarks (http://shootout.alioth.debian.org/): No JIT JIT No-JIT/JIT nsieve-bits 7 7.5 sec 0.8 sec 9.4 fannkuch 9 8.6 2.0 4.3 fasta 500000 8.5 3.1 2.7 regex-dna 5000000 10.5 10.3 1.0 tex2page on the mzscheme manual: No JIT JIT No-JIT/JIT 37.6 sec 10.2 sec 3.7 mzc -c tex2page-aux.ss: No JIT JIT No-JIT/JIT 19.4 sec 13.7 sec 1.4 * MzScheme’s default exception handler now shows stack-trace information. This stack-trace information is less precise than from the "errortrace" tool, but it’s often good enough, and it’s always available. * DrScheme now treats open square-bracket `[’ keyboard input specially. In most contexts, an open parenthesis `(’ is inserted, instead -- but `[’ is left alone in certain contexts, such as the start of a `let’ binding or a `cond’ clause. The intent is that you can type unshifted `[’ and `]’ characters and get code that looks as if you had typed `(’ and `)’ with less wear and tear on your hands. Use Ctl-[ in any context to get `[’, or change the preference to disable special treatment of `[’. For more details, follow the "Release" and then "Release Notes" links in Help Desk, or see http://pre.plt-scheme.org/plt/doc/release-notes/ A complete history of changes is at: http://download.plt-scheme.org/chronology/ -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://www.barzilay.org/ Maze is Life!