Hi Shriram - <br><br>thanks for joining the party and provide your thoughts ;)&nbsp; Please see inline... <br><br><div><span class="gmail_quote">On 5/1/07, <b class="gmail_sendername">Shriram Krishnamurthi</b> &lt;<a href="mailto:sk@cs.brown.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

sk@cs.brown.edu
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>&gt; We found it onerous to maintain a source-to-source compiler for all of
<br>&gt; PLT Scheme, since PLT Scheme has grown into a sizeable language.<br>&gt; Also, for *many* applications, the existing server infrastructure is<br>&gt; fine.&nbsp;&nbsp;But then there is Jay&#39;s attempt to resurrect Greg&#39;s
<br>&gt; continuation-mark implementation.</blockquote><div><br>It makes sense this is a onerous work - I worked out that it requires knowledge of PLT scheme itself and then I stopped (an aside - I guess what you are saying is that PLT is not using CPS underneath ;P).&nbsp;
</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt; It&#39;s not outside the scope.&nbsp;&nbsp;The CPS or ANF+continuation-mark<br>&gt; techniques are simply different implementation methods to take you to
<br>&gt; the same end-point (of harnessing continuations).&nbsp;&nbsp;They do happen to
<br>&gt; have very different properties in terms of &quot;ilities&quot;: resources,<br>&gt; bookmarks, and so on.</blockquote><div><br>(2 more cents from a practitioner) The ilities are of huge interest for developers wanting to develop huge scale web applications.&nbsp; I love the concept of continuation, and I suspect the scalability is higher than I give it credit for currently, but I haven&#39;t justified diving in head first due to the fear of committing to a ceiling on scalability in architecture that I can&#39;t fix. 
<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt; Matthias is using state in a very specific, technical sense.&nbsp;&nbsp;In that<br>
&gt; sense, continuations do not capture state; they capture &quot;everything
<br>&gt; but&quot; state.&nbsp;&nbsp;If you&#39;re using &quot;state&quot; in a more informal sense to mean<br>&gt; &quot;the current situation of the program&quot;, then yes, continuations do<br>&gt; capture that, but only partially.&nbsp;&nbsp;For instance, a continuation does
<br>&gt; not capture the content of a shopping cart; this is why two different<br>&gt; continuations both modify the same shopping cart.&nbsp;&nbsp;That shopping cart<br>&gt; is precisely what Matthias calls &quot;state&quot;.<br>
<br>&gt; Does that make sense?
</blockquote><div><br>Okay - so state for you means the same for me - this is a good thing ;)&nbsp; I will retract my last question which ask this specific topic because I thought the understanding is different.&nbsp; And yes I can see why continuation doesn&#39;t capture state, but I intuitively understand the informal sense Grant refers to. 
<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt; Matthias is referring you to a few books you can read to learn more.<br>&gt; Because I am biased, I would point you to mine, which is available in
<br>&gt; full and free on the Web:<br><br><a href="http://www.cs.brown.edu/%7Esk/Publications/Books/ProgLangs/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/</a><br><br>&gt; The material on state is written to, I hope, be relatively accessible<br>&gt; to someone who is more of a developer than a researcher.&nbsp;&nbsp;Furthermore,
<br>&gt; the book also has a chapter on continuations and the Web, and you may
<br>&gt; find it fruitful to browse that, also.<br><br>&gt; [Stay tuned for a major announcement regarding this book in the coming<br>&gt; weeks, which I will post to this list.]<br><br>&gt; Once you have been through both of these, you may find it instructive
<br>&gt; to read our journal paper on the PLT server:<br><br><a href="http://www.cs.brown.edu/%7Esk/Publications/Papers/Published/khmgpf-impl-use-plt-web-server-journal/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

http://www.cs.brown.edu/~sk/Publications/Papers/Published/khmgpf-impl-use-plt-web-server-journal/
</a></blockquote><div><br><br>Thanks for the links ;)&nbsp; <br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt; Matthias said yes; I would say no.&nbsp;&nbsp;Ajax makes user-perceived
<br>&gt; performance better; but Ajax does not make *development* easier, it
<br>&gt; makes it harder.</blockquote><div><br>Agreed. <br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt; Worse, at this point, we have no story corresponding for Ajax
<br>&gt; corresponding to what the PLT Web server infrastructure represents for<br>&gt; traditional, synchronous Web programs.&nbsp;&nbsp;For this reason we&#39;ve embarked
<br>&gt; on a new language, Flapjax:<br><br>&nbsp;&nbsp;<a href="http://www.flapjax-lang.org/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.flapjax-lang.org/</a><br><br>&gt; The idea is to tease out the linguistic primitives underlying Ajax
<br>&gt; applications and reduce them to a small set of operations, just as we
<br>&gt; have done for synchronous apps.</blockquote><div><br>I saw it - it&#39;s cool.&nbsp; From my perspective AJAX complicates the design of web software even further as one has to account for multiple levels of browser/server interaction.&nbsp; Unification of browser &amp; server level programming (
e.g. write once, work as ajax and as non-ajax) is something that&#39;s also of big interest for developers, but perhaps this is more fitted toward implementation than necessarily research? ;) <br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
3. A more declarative way of writing servers, to compete with and do<br>much better than the Ruby-on-Rails style.&nbsp;&nbsp;This is something I&#39;m
<br>investigating with Danny Yoo, whom many of you will recognize from<br>this list.&nbsp;&nbsp;We&#39;re still in the early stages of this one.</blockquote><div><br>Love to see this in action ;)&nbsp; <br><br>Thanks,<br>yinso <br><br>
</div></div>