Thanks for the feedback. The literature references are extremely helpful, and I will read through them carefully. <div>As an aside, may I ask what notation is being used in these papers?</div><div><br></div><div>I thought it might be lambda calculus, however I cannot determine what it means to surround an expression using calligraphic []'s. </div>
<div><br></div><div> -Patrick<br><br><div class="gmail_quote">On Thu, Nov 24, 2011 at 7:01 AM, Matthias Felleisen <span dir="ltr"><<a href="mailto:matthias@ccs.neu.edu">matthias@ccs.neu.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class="h5"><br>
<br>
On Nov 24, 2011, at 9:52 AM, <a href="mailto:nicolas.oury@gmail.com">nicolas.oury@gmail.com</a> wrote:<br>
<br>
>> But you could also break the tail-call discipline of CPS and translate [shift e] as \k. (k [e](\x.x))<br>
>> Or you can use our 'abstract' continuations to manipulate a stack of continuations directly.<br>
><br>
> What are your 'abstract' continuations? Sounds very interesting.<br>
<br>
<br>
</div></div>See LFP 1988. When I first invented prompts and functional continuations, I did not know how<br>
to assign a denotational meaning to them, i.e., a translation from syntax to sets of denotations.<br>
Or how to write a TCO interpreter that has the right properties. The key insight was that you<br>
don't have to have monolithic functions as continuations with just one operation on them<br>
(composition). Instead you can use any ordinary algebra of combinators that combine small<br>
pieces (functions) into the whole thing (continuation) and use them (throw). Best of all,<br>
if you look at the initial model of a simple stack algebra, you get the standard notion<br>
of continuations and if you look at the final interpretation, you get a stack of functions,<br>
which you can then use to do prompts/F prompts/C prompts/callcc. One of these combinations is<br>
shift/reset, as reinvented by them. I forgot which one. -- Matthias<br>
<br>
</blockquote></div><br></div>