[racket-dev] update on reimplementing GRacket

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Sat Jun 12 21:25:06 EDT 2010

My last update was back in January:

 http://lists.racket-lang.org/dev/archive/2010-January/002045.html

GRacket2 wasn't done by May, obviously. I still like to think that we
could have something working within a few months, though.

The Racket switch contributed to the delay, but eventspace issues were
less easy to solve than I had hoped. In particular, using multiple OS
threads doesn't help; it turns out that modern GUI toolboxes provide
even less support for multiple threads than old toolboxes. I have to
stick with my old bag of complicated tricks.


The sources have moved here, for now:

  http://github.com/mflatt/gr2/

Beware that I occasionally sync with the main Racket repo by pulling
with --rebase and then pushing with --force. That rewrites history in
the `mflatt/gr2' repo so that the GRacket2-specific changes extend the
main repo.

If you build on Mac OS X or Windows, beware that `make' downloads some
pre-built libraries for Cairo, Pango, etc. (If you really want to build
them yourself for Mac OS X, see "racket/src/mac/README.txt" for hints.)
For X11 platforms, you just need Gtk2 development packages installed.



Most widgets are implemented enough to instantiate, but there are lots
of details to be filled in. The drawing library is fairly complete and
getting very close to the same output as the old drawing library
(relative to the old library's variation across platforms).

DrRacket starts, but it's not at all usable. Slideshow programs mostly
render correctly.

We still need an XPM parser, if anyone is interested in volunteering to
implement one. It's also possible that a Gtk2 or Cocoa expert could
help finish up the windowing classes in "collects/mred/private/wx".



Posted on the dev mailing list.