[plt-scheme] 371.3

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Sat Sep 15 18:33:33 EDT 2007

MzScheme and MrEd are now version 371.3 in the SVN repository trunk.

The main change is the new, experimental `#lang' reader syntax (which I
described as `#module' in my original "4.0" message in May).

As one example, you can now write

    #lang mzscheme
    (define x 5)
    (provide x)

in a module file, instead of

   (module <name> mzscheme
     (define x 5)
     (provide x))


More generally,

    #lang <langname>

is just a shorthand for

    #reader(lib "lang/reader.ss" "<langname>")

but the convention will be that "lang/reader.ss" in a collection
provides a readerputs all expressions to end-of-file into a `module'
form (while also inferring the module name from the port name).

If this experiment works out, we expect that a "lang" sub-collection
will contain other information. For example, "lang/colorer.ss" and
"lang/indentation.ss" might provide DrScheme plugins for syntax
coloring and auto-indenting.

At the moment, the only standard collections with "lang/reader.ss"
modules are "mzscheme" and "scribble/doc".


Matthew



Posted on the users mailing list.