Client-Side Web Scripting with HaskellScript

  • Erik Meijer
  • Daan Leijen
  • James Hook
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1551)


Using client-side scripting it is possible to build interactive web pages that don’t need round-trips to the server for every user-event. The web browser exposes itself to the script via an object model (DOM), which means that scripts can add and remove page content, or change the position and color of elements via their style attributes. We explain the object model as implemented by Microsoft Internet Explorer by means of examples and report on our experiences of using Haskell as a programming language for client-side web scripting using the HaskellScript scripting engine.


Object Model Functional Programming Script Language Cascade Style Sheet Document Object Model 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Richard Bird. Introduction to Functional Programming using Haskell (2nd edition). Prentice Hall, 1998.Google Scholar
  2. [2]
    David Chappel. Understanding ActiveX and OLE. Microsoft Press, 1996.Google Scholar
  3. [3]
    J. Petersoneditor et. al. Report on the programming language Haskell version 1.4., April 61997.
  4. [4]
    Lauren Woodet. al. Document Object Model (DOM) Level 1 Specification., October1998.
  5. [5]
    Sigbjorn Finne, Daan Leijen, Erik Meijer, and Simon Peyton Jones. H/Direct: A Binary Foreign Language Interface to Haskell. In Proceedings of ICFP’98, 1998.Google Scholar
  6. [6]
    Scott Isaacs. Inside Dynamic HTML. Microsoft Press, 1997.Google Scholar
  7. [7]
    Simon L. Peyton Jones and Philip Wadler. Imperative functional programming. In POPL 20, pages 71–84, 1993.Google Scholar
  8. [8]
    Simon Peyton Jones, Erik Meijer, and Daan Leijen. Scripting COM components from Haskell. In Proceedings of ICSR5, 1998.Google Scholar
  9. [9]
    SL Peyton Jones and J Launchbury. State in Haskell. Lisp and Symbolic Computation, 8(4):293–341, 1995.CrossRefGoogle Scholar
  10. [10]
    Håkon Wium Lie and Bert Bos, editors. Cascading Style Sheets. Addison-Wesley, 1997.Google Scholar
  11. [11]
    John Matthews, John Launchbury, and Byron Cook. Microprocessor Specification in Hawk. In International Conference on Computer Languages, 1998.Google Scholar
  12. [12]
    Erik Meijer. Server-side Scripting in Haskell. Journal of Functional Programming, Accepted for publication.Google Scholar
  13. [13]
    Microsoft Press. Automation Programmers Reference, 1997.Google Scholar
  14. [14]
    D. Ragget, Arnoud Le Hors, and Ian Jacobs. HTML 4.0 specification., December 1997.
  15. [15]
    Philip Wadler. Personal communication.Google Scholar
  16. [16]
    Philip Wadler. Monads for functional programming. In J. Jeuring and E. Meijer, editors, Advanced Functional Programming, volume 925 of LNCS. Springer Verlag, 1995.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Erik Meijer
    • 1
  • Daan Leijen
    • 1
  • James Hook
    • 2
  1. 1.Department of Computer ScienceUtrecht UniversityUSA
  2. 2.Pacific Software Research CenterOregon Graduate InstituteUSA

Personalised recommendations