[Seaside-dev] thoughts on call semantics (not partial continuations)

Julian Fitzell jfitzell at gmail.com
Wed Feb 4 18:05:52 UTC 2009


On Wed, Feb 4, 2009 at 5:51 PM, Lukas Renggli <renggli at gmail.com> wrote:

> > It's related
> > to using an exception to abort the callback after suspending it with
> #call:
> > (which we currently do with a partial continuation). #call: is using
> > continuations anyway. Why does it need to use an exception together with
> a
> > continuation to do its job?
>
> Not necessarily, it could also terminate without unwinding up to the
> marker and raise the exception there.
>

Sure, that's fine. That's the behaviour I want; I was just trying to use the
existing mechanism we've already defined to accomplish it. But certainly you
could unwind more directly instead and I guess that's clearer.

So maybe we can take a step back and look at this from another angle. Forget
I ever mentioned that I wanted ensure blocks to work. Let's just say for a
minute that we're in agreement that they can't possibly work and we're
instructing users never to put ensure blocks in a callback. Can we then
agree that semantically it does not make sense to unwind a callback's
contexts when doing a #call:?

This is the most relevant piece of the discussion to me. When you call, your
callback is conceptually immediately suspended. I think we should be
terminating back to the framework code and then signaling a Notification
rather than unwinding the callback.

Julian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside-dev/attachments/20090204/e2e7682f/attachment.htm


More information about the seaside-dev mailing list