Inverting back the inversion of control or, continuations versus page-centric programming

Our thesis is that programming web applications with continuations is superior to the current page-centric technology. A continuation is a program-level manageable value representing the rest of the computation of the program. "What to do next" is precisely what has to be explicitly encoded in order to program non trivial web interactions. Continuations allow web applications to be written in direct style that is, as a single program that displays forms and reads form submission since continuations automatically capture everything (control point, lexical bindings, etc.) that is needed to resume the computation. Programming is therefore safer, easier and more re-usable.

[1]  Microcomputer Standards Subcommittee IEEE standard for the Scheme programming language , 1991 .

[2]  Mitchell Wand,et al.  Continuations and coroutines , 1984, LFP '84.

[3]  J.-F. Touchette HTML THIN CLIENT AND TRANSACTIONS , 1999 .

[4]  Oleg Kiselyov Implementing Metcast in Scheme , 2005, High. Order Symb. Comput..

[5]  Olivier Danvy Memory allocation and higher-order functions , 1987, PLDI 1987.

[6]  Christian Queinnec,et al.  The influence of browsers on evaluators or, continuations to program web servers , 2000, ICFP '00.

[7]  Kurt Nørmark,et al.  Using Lisp as a Markup Language The LAML Approach , 2004 .

[8]  Christopher Strachey,et al.  Continuations: A Mathematical Semantics for Handling Full Jumps , 2000, High. Order Symb. Comput..

[9]  John Hughes,et al.  Generalising monads to arrows , 2000, Sci. Comput. Program..

[10]  Mitchell Wand,et al.  Continuation-Based Multiprocessing , 1980, High. Order Symb. Comput..

[11]  J. Christopher Ramming,et al.  Programming the Web: An Application-Oriented Language for Hypermedia Service Programming , 1996, World Wide Web journal.

[12]  William D. Clinger,et al.  Implementation strategies for continuations , 1988, LFP '88.

[13]  Robert Hieb,et al.  Representing control in the presence of first-class continuations , 1990, PLDI '90.

[14]  R. K. Dybvig,et al.  Representing Control in the Presence of , 1996 .

[15]  Christian Queinnec Enseignement du langage c a l'aide d'un cederom et d'un site - architecture logicielle , 2000 .

[16]  Ken Perlin,et al.  Dreme: for life in the net , 1995 .

[17]  John C. Reynolds,et al.  The discoveries of continuations , 1993, LISP Symb. Comput..