<div class="gmail_quote">On Wed, Feb 4, 2009 at 5:51 PM, Lukas Renggli <span dir="ltr">&lt;<a href="mailto:renggli@gmail.com">renggli@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">
&gt; It&#39;s related<br>
&gt; to using an exception to abort the callback after suspending it with #call:<br>
&gt; (which we currently do with a partial continuation). #call: is using<br>
&gt; continuations anyway. Why does it need to use an exception together with a<br>
&gt; continuation to do its job?<br>
<br>
</div>Not necessarily, it could also terminate without unwinding up to the<br>
marker and raise the exception there.<br>
<div class="Ih2E3d"></div></blockquote><div><br>Sure, that&#39;s fine. That&#39;s the behaviour I want; I was just trying to use the existing mechanism we&#39;ve already defined to accomplish it. But certainly you could unwind more directly instead and I guess that&#39;s clearer.<br>
<br></div>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&#39;s just say for a minute that we&#39;re in agreement
that they can&#39;t possibly work and we&#39;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&#39;s contexts when doing a #call:?<br>
<br>
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.<br>
<br>
Julian</div>