[plt-scheme] web programming, continuation, CPS transform, etc.

From: Yin-So Chen (yinso.chen at gmail.com)
Date: Mon Apr 30 18:19:49 EDT 2007

Hi Matthias - thanks for the reply ;)

please see inline...

On 4/30/07, Matthias Felleisen <matthias at ccs.neu.edu> wrote:

> > 3) Are there good links/pointers/implementations on CPS and ANF
> > transformation?  I can't find a good description of ANF (my google
> > terms are probably wrong).  With CPS I can find techniques from
> > readscheme, but they appear more for manual transformation.  For
> > automated transformation it seems that the transformer must know
> > scheme well ( i.e. knowledge of if, cond, let, etc) and appears
> > very complex, and it also seem like operations like map, loop, or
> > error handling are very difficult to transform into CPS.
>
> See http://www.ccs.neu.edu/scheme/pubs/#fsdf-pldi for the paper that
> introduced ANF. Theoretically it was discovered in Sabry-Felleisen
> [LISP 92].


Thanks for the link - very appreciated and I will study it ;)

> 4) Is PLT web server moving toward the paper's findings?  If not,
> > why not?
>
>
> Partly due to manpower. See above. To some extent, we really need to
> design a full-fledged web language based on Scheme that makes good
> use of continuations.


I am not sure if I follow... Are you saying that the direction of PLT web
server focus only on continuation?  By that I mean that I infer that CPS/ANF
is outside of the research scope w.r.t to PLT web server.

At the same time, AJAX has relieved the need for many uses of
> continuations. So perhaps this research has explored as much as
> possible and will need to be resumed when the dust has settled on the
> (limittations of) AJAX.


(just my 2 cents) From a practitioner perspective, AJAX does provide some
simplifications in web development, but also complicates the structure of
the code especially in situations where one needs to handle both ajax and
non-ajax capable browsers (while few desktop client suffer from this issue
today - more mobile clients are on the rise).  Code duplication is huge in
such cases and I am still searching for a good abstraction... ;)

Thanks,
yinso
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20070430/76ce0e5a/attachment.html>

Posted on the users mailing list.