Abstract
While developing the software of a browser-operated educational CD-ROM, we had to face a number of problems. This paper presents these problems and the solutions we found. Amusingly, most of our solutions rely on continuations. Are browsers and multimedia the future of continuations?Through their "Back" button or "Clone window" menu item, browsers have powerful abilities that force servers to take care of multiply and simultaneously answered questions. A comprehensive tool to apprehend these problems as well as to solve them is to view these abilities as operators acting on the continuations of the computation performed by servers.Thematical trails are provided to walk through the CD-ROM but do not prevent students to wander elsewhere. A trail may contain choices or quizzes so the rest of the trail should adapt to the walked part. We consider the trail as a computation and the position of the student as a continuation within that computation.Moreover this paper advocates a computation-centric view of servers (in opposition to the usual page-centric view) where interactions with users suspend the computation into continuations that may be later resumed. This approach is superior because the continuation reifies, automatically and without errors, the whole state of the computation.
References
- 1 M.Bieber, F. Vitali, H. Ashman, V.Balsubramanian, and H.Onias-Jujjonen. Fourth generation hypermedia: Some missing links for the world wide web. International Journal of Human-Computer Studies,47:31-65, 1997. Google Scholar
Digital Library
- 2 V. Bush. As we may think. The Atlantic Monthly, pages 101-108, July 1945.reprinted in Adele Goldberg (editor), A History of personal Workstations, ACM Press, New York, 1988, pp237-247.Google Scholar
- 3 L. Cardelli and R. Davies. Service combinators for web computing. IEEE Transactions on Software Engineering, 25(3):309-316, May-June 1999. Google Scholar
Digital Library
- 4 O. Danvy. Mebory allocation and higher-order functions. In PLDI '87 -ACM SIGPLAN Programming Languages Design and Implementation, pages 241-252, 1987. Google Scholar
Digital Library
- 5 J. D. Davidson and D. Coward. JavaTM Servlet Specification, v2.2. SUN Microsystems, Dec. 1999.Google Scholar
- 6 M. Felleisen and D. P. Friedman. Control operators, the secd-machine, and the lambda-calculus. In 3rd Working Conference on the Formal Description of Programming Concepts, pages 193-219, Ebberup, Denmark, Aug. 1986.Google Scholar
- 7 M. Fuchs. Dreme: for Life in the Net. PhD thesis, New York University, Sept. 1995. Google Scholar
Digital Library
- 8 R. Kelsey, W. Clinger, and J. Rees, editors. Revised5 report on the algorithmic language Scheme. Higher-Order and Symbolic Computation, 11(1):7-105, 1998. Also appears in ACM SIGPLAN Notices 33(9), September 1998. Google Scholar
Digital Library
- 9 L. Moreau. A Syntactic Theory of Dynamic Binding. Higher-Order and Symbolic Computation, 11(3):233-279, Dec. 1998. Google Scholar
Digital Library
- 10 L. Moreau and C. Queinnec. Design and semantics of quantum: a language to control resource consumption in distributed computing. In Usenix Conference on Domain Specific Language, DSL '97, pages 183-197, Santa-Barbara (California, USA), Oct. 1997. Google Scholar
Digital Library
- 11 K. N~rmark. Using lisp as a markup language the laml approach. In European Lisp User Group Meeting, Amsterdam, Holland, 1999.Google Scholar
- 12 E. Pelegri-Llopart and L. Cable. JavaServer PagesTM Specification, version 1.1. SUN Microsystems, Nov. 1999.Google Scholar
- 13 C. Queinnec. Lisp in Small Pieces. Cambridge University Press, 1996. Google Scholar
Digital Library
- 14 C. Queinnec. Enseignement du langage C a l'aide d'un cederom et d'un site - Architecture logicielle. In Colloque international - Technologie de l'Information et de la Communication dans les Enseignements d'ingnieurs et dans l'industrie, Troyes (France), Oct. 2000.Google Scholar
- 15 C. Queinnec and D. DeRoure. Design of a concurrent and distributed language. In R. H. Halstead Jr and T. Ito, editors, Parallel Symbolic Computing: Languages, Systems, and Applications, (US / Japan Workshop Proceedings), volume Lecture Notes in Computer Science 748, pages 234-259, Boston (Massachussetts USA), Oct. 1993. Google Scholar
- 16 F. M. Shipman III, C. C. Marshall, R. Furuta, D. A. Brenner, H.-W. Hsieh, and V. Kumar. Creating educational guided paths over the world-wide web. In Proceedings of Ed-Telecom '96, pages 326-331, Boston (Massachussetts USA), 1996. Association for the Advancement of Computers in Education.Google Scholar
- 17 G. L. Steele Jr. and G. J. Sussman. The art of the interpreter, or the modularity complex (parts zero, one, and two). MIT AI Memo 453, Massachusetts Institute of Technology, Cambridge, Mass., May 1978. Google Scholar
Digital Library
- 18 J.-F. Touchette. Html thin client and transactions. Dr. Dobb's Journal, Software Tools for the Professional Programmer, 24(10):80-86, Oct. 1999.Google Scholar
- 19 M. Wand. Continuation-based multiprocessing. In Conference Record of the 1980 Lisp Conference, pages 19-28. The Lisp Conference, 1980. Google Scholar
Digital Library
- 20 P. T. Zellweger. Scripted documents: A hypermedia path mechanism. In Proceedings of Hypertext-89, pages 1-14, Pittsburgh, PA, 1989. Google Scholar
Digital Library
Index Terms
The influence of browsers on evaluators or, continuations to program web servers






Comments