From: Matthew Flatt <>
Subject: [plt-scheme] 299.28
Date: Wed, 26 Jan 2005 10:06:47 -0700

The exp-tagged code for MzScheme and MrEd in CVS is now version 299.28.


 * Added `get-bounding-box’ to dc-path%.

 * Added optional `for-label?’ argument to font%’s
   `screen-glyph-exists?’, since Windows’s font substitution for
   control labels is not as aggressive as MrEd’s font substitution for

 * Added an H-expression mode to MzScheme’s reader, which is triggered
   by #hx or #honu and escaped by #sx. Also added `read-honu’,
   `read-honu-syntax’, and `print-honu’. See the MzScheme docs for more

   This is an experiment towards a new family of languages. More on
   that soon.

   For now, I’ll admit that if you put

       #honu dynamic

       int v = 10;

       int f(int x) {
         return x + 1;

       (int -> int) g() {
          return f;

       provide v, f, g;

   into "f.honu" and require it, then you’ll get a binding of `v’ to
   the number 10, a binding of `f’ to a function that accepts exact
   integers and increments them, and a binding of `g’ to a thunk that
   returns the function bound to `f’.

   But this program might not work the same (using the latest code)
   days or even hours from now, and it may or may not have any
   recognizable relation to something that is eventually called "Honu".

   The Java-like syntax above is really just a pile of H-expressions
   (something we made up) from MzScheme’s perspective. It becomes a
   language through macros in the "honu-module" collection.