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

Ch. Queinnec

LIP6 2001/007: Rapport de Recherche LIP6 / LIP6 research reports
15 pages - Février/February 2001 - Document en anglais.

Get it : 71 Ko /Kb

Contact : par mail / e-mail

Thème/Team: Sémantique, Preuve et Implantation

Titre français : Inverser l'inversion du contrôle -- Les continuations vis-à-vis de la programmation centrée sur les pages
Titre anglais : Inverting back the inversion of control or, Continuations versus page-centric programming


Résumé : La programmation d'applications pour le ouèbe s'accommode mieux de continuations que de l'usuelle programmation centrée sur les pages. Une continuation est une valeur manipulable au sein du langage de programmation, cette valeur exprime le calcul restant à accomplir. "Ce qui reste à faire" est précisément ce que l'on doit encoder pour programmer des applications pour le ouèbe non triviales car faites de multiples pages devant s'enchaîner. Les continuations permettent que les applications soient écrites en style direct, en un unique programme donc qui affiche des formulaires, lit leur contenu renseigné et soumet ces contenus à la continuation du formulaire qui capture automatiquement tout ce qui est nécessaire à la reprise (contexte lexical, contexte de contrôle, etc.) La programmation est donc plus sûre, plus facile et plus réutilisable.

Abstract : 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.


Mots-clés : Programmation ouèbe, continuations

Key-words : Web computing, continuations


Publications internes LIP6 2001 / LIP6 research reports 2001

Responsable Éditorial / Editor :David.Massot@lip6.fr