article
Free Access

The influence of browsers on evaluators or, continuations to program web servers

Authors Info & Claims
Published:01 September 2000Publication History

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. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle Scholar
  3. 3 L. Cardelli and R. Davies. Service combinators for web computing. IEEE Transactions on Software Engineering, 25(3):309-316, May-June 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4 O. Danvy. Mebory allocation and higher-order functions. In PLDI '87 -ACM SIGPLAN Programming Languages Design and Implementation, pages 241-252, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5 J. D. Davidson and D. Coward. JavaTM Servlet Specification, v2.2. SUN Microsystems, Dec. 1999.Google ScholarGoogle Scholar
  6. 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 ScholarGoogle Scholar
  7. 7 M. Fuchs. Dreme: for Life in the Net. PhD thesis, New York University, Sept. 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 L. Moreau. A Syntactic Theory of Dynamic Binding. Higher-Order and Symbolic Computation, 11(3):233-279, Dec. 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11 K. N~rmark. Using lisp as a markup language the laml approach. In European Lisp User Group Meeting, Amsterdam, Holland, 1999.Google ScholarGoogle Scholar
  12. 12 E. Pelegri-Llopart and L. Cable. JavaServer PagesTM Specification, version 1.1. SUN Microsystems, Nov. 1999.Google ScholarGoogle Scholar
  13. 13 C. Queinnec. Lisp in Small Pieces. Cambridge University Press, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle Scholar
  15. 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 ScholarGoogle Scholar
  16. 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 ScholarGoogle Scholar
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle Scholar
  19. 19 M. Wand. Continuation-based multiprocessing. In Conference Record of the 1980 Lisp Conference, pages 19-28. The Lisp Conference, 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20 P. T. Zellweger. Scripted documents: A hypermedia path mechanism. In Proceedings of Hypertext-89, pages 1-14, Pittsburgh, PA, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. The influence of browsers on evaluators or, continuations to program web servers

                  Comments

                  Login options

                  Check if you have access through your login credentials or your institution to get full access on this article.

                  Sign in

                  Full Access

                  • Published in

                    cover image ACM SIGPLAN Notices
                    ACM SIGPLAN Notices  Volume 35, Issue 9
                    Sept. 2000
                    291 pages
                    ISSN:0362-1340
                    EISSN:1558-1160
                    DOI:10.1145/357766
                    Issue’s Table of Contents
                    • cover image ACM Conferences
                      ICFP '00: Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
                      September 2000
                      294 pages
                      ISBN:1581132026
                      DOI:10.1145/351240

                    Copyright © 2000 ACM

                    Publisher

                    Association for Computing Machinery

                    New York, NY, United States

                    Publication History

                    • Published: 1 September 2000

                    Check for updates

                    Qualifiers

                    • article

                  PDF Format

                  View or Download as a PDF file.

                  PDF

                  eReader

                  View online with eReader.

                  eReader
                  About Cookies On This Site

                  We use cookies to ensure that we give you the best experience on our website.

                  Learn more

                  Got it!