From: Robby Findler <>
Subject: [plt-scheme] Recent changes to DrScheme
Date: Sun, 9 Nov 2003 19:25:07 -0600

For details on using the intermediate releases, see

This is a summary of the recent changes to DrScheme in the
CVS archive. You may have many of these changes already;
typically each change is tagged as it happens and these
emails are only sent when the list gets long enough.

 - Check Syntax can now jump from the use of a
   module-provided variable to its definition. Either
   control-click (aka right click) on the variable or use
   the c-x;d keyboard shortcut.

 - Check Syntax now does a better job of navigating amoung
   occurrences of a single variable. The popup menu lets you
   go from a bound occurrence to a binding occurrence and
   from a binding occurrence to the next binding occurrence.

   Also added two keystrokes: c-x;n to go to the next bound
   occurrence and c-x;b to to the binding occurrence.

 - added object contracts. See mzlib docs on object-contract
   for details.

 - added flat-rec-contract, for specifying recursive flat
   contracts. For example, to specify (a simplified form of)
   s-expressions you can now write:

   (flat-rec-contract sexp
     (cons/c sexp sexp)
     (box/c sexp)
     (vectorof sexp)

   Also added flat-murec-contract for defining mutually
   referential contracts. It’s shape is like letrec’s shape.

 - modes are now based on the language settings, rather than
   the filename

 - show menu => view menu, added show/hide for the toolbar

 - added get-field and field-bound to (lib "")