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

From: Robby Findler (robby at cs.uchicago.edu)
Date: Mon Oct 3 15:11:14 EDT 2005

By default, the GUI callbacks and code that runs the REPL are running
on the same thread. You probably need to change quark so that the code
that actually does IO for the REPL runs in a separate thread and then
calls queue-callback for its evaluations. That way the code that is
waiting for you to type won't cause your other callbacks to block.

For this basic idea taken to the Nth degree see DrScheme.  .... ;)

For something more useful to your particular job, you might want to
read about the implementation of SchemeEsq in the MrEd ICFP paper:


Hope that helps.


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 until I <ctrl-D>/kill
> the scheme process '*scheme*' in emacs, at which point the GUI window I
> opened becomes spontaneously overjoyed and starts responding in a macabre
> display of schadenfreude. If I run 'mred' without the -z arg then I get the
> little bare bones GUI windows where I can type the commands that are
> normally executed via the lisp commands in the scheme-mode. When I do this
> the window I'm opening (well, that PLT/Redex is opening really) appears and
> is enabled as it is interactive and everything works. Is this a known issue
> and is there a known workaround?
> Thanks -ben
> On 10/3/05, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> >
> > At Mon, 3 Oct 2005 18:07:24 +0100, ben kavanagh wrote:
> > > Anyone know offhand how much work it would be to add mred-kernel to
> > mzscheme
> > > interpreter
> >
> > It's as easy as compiling MrEd. :)
> >
> > > so that I can run gui applications via emacs?
> >
> > I think you want `mred -z'.
> >
> > Matthew
> >
> >
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme

Posted on the users mailing list.