[plt-dev] update on reimplementing MrEd

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Fri Oct 30 17:17:31 EDT 2009

After many months of no work toward reimplementing MrEd, I've found a
little time to work on it lately.

The original plan:

 - Phase 1: convert the editor classes to Scheme (done!)

 - Phase 2: convert the drawing classes to Scheme using Cairo+Pango

 - Phase 3: convert the GUI classes to Scheme using Gtk/Cocoa/Win32

Although there's still lots to do for Phase 2, I've gotten far enough
that I'm sure it will work. I've implemented text, bitmaps, PNG and
JPEG handling, PostScript generation, clipping regions, and aligned

I can imagine releasing Phase 2 sometime early next year. That is, we'd
throw out all the C++ code for drawing that's in MrEd, and we'd instead
use Scheme+FFI code that draws via Cairo+Pango. (A canvas window would
still be implemented by the current GUI binding, at first, but the
canvas's DC would point back to the Scheme world.)

Phase 3 is the most visible change and the one that interests most
people, but phase 2 will at least offer some tangible benefits (unlike
phase 1). For example, you will be able to use the drawing classes or
libraries like `slideshow/pict' to generate PNG or PostScript files
using `mzscheme' instead of `mred'.

If you'd like to see the current state, it's still at


And I'd still be especially happy if someone writes libraries for
reading GIFs or reading and writing BMPs, XBMs, or XPMs.

Posted on the dev mailing list.