[plt-scheme] solving the halting problem

From: Robby Findler (robby at cs.uchicago.edu)
Date: Wed Jan 2 12:58:13 EST 2008

Depends what you want to do. Others would say that breaking a thread
is a good idea most of the time, but I'd say that killing is the
easier route in general, and I'd try that first. To give you an idea
of how to use killing and how we think about it, check out this paper:

  http://www.cs.utah.edu/plt/kill-safe/

Feel free to post if you have questions about it.

Robby

On Jan 2, 2008 11:34 AM, Dave Griffiths <dave at pawfal.org> wrote:
> Ok, thanks - it looks like it's better solved in the Scheme world then.
>
> Am I right in thinking it's cleaner to shut down a custodian than breaking
> a thread?
>
>
> > The break button calls break-thread on the user's main thread (if the
> > usre has created more threads, they won't be broken). The kill button
> > shuts down the user's custodian, so you can simulate both of these
> > programmatically. (I'm not sure about the embedding answer, but I do
> > believe that when you're at the C level that the concurrency is
> > cooperative, so you only get breaks at points where you explicitly
> > yield control.)
> >
> > Robby
> >
> > On Jan 2, 2008 9:04 AM, Dave Griffiths <dave at pawfal.org> wrote:
> >> Hi all,
> >>
> >> I'm interested in how the "break" key in drscheme is implemented - does
> >> it
> >> kill the (PLT?) thread which the process is currently running in? Is
> >> this
> >> the best/only way of manually stopping computation?
> >>
> >> In the context of mzscheme and embedding - I assume the only way to do
> >> this is from inside the interpreter? i.e. there is no magic asynchronous
> >> version of scheme_eval_string which can be stopped.
> >>
> >> cheers,
> >>
> >> dave
> >>
> >> http://www.pawfal.org/dave/
> >>
> >> _________________________________________________
> >>   For list-related administrative tasks:
> >>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> >>
> >
>
>
> http://www.pawfal.org/dave/
>
>


Posted on the users mailing list.