[plt-scheme] mzscheme with @$%@$mred-kernel

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Mon Oct 3 15:11:33 EDT 2005

At Mon, 3 Oct 2005 20:06:37 +0100, ben kavanagh wrote:
> Thanks Matthew, Jay. The 'mred -z' was already in the quark elisp code. So
> yay that solved the mred-kernel load problem all right, but I'm trying to
> run plt/redex and although running 'mred -z' allows me to load my program
> and call it, whereupon it opens a window, the GUI thread doesn't appear to
> be getting any cycles as it doesn't respond/draw etc [...]
> Is this a known issue
> and is there a known workaround?

Ah, right. I forgot about this.

The usual workaround is to start with

 (current-eventspace (make-eventspace))

That way, the REPL doesn't block the eventspace main thread.

But if you do that, then it's technically bad to directly `require' a
module for a GUI program, since the module will expect to be loaded in
the eventspace's main thread. Queueing a callback avoids that problem,
but you can't put a top-level `require' in a callback function, and so
it's inconvenient.

I should add something like -z that puts the REPL in a different
eventspace and queues evaluation in the original, more like DrScheme.
Meanwhile, maybe evaluating the above expression will let you get work
done.

Matthew



Posted on the users mailing list.