Overcoming the Multiplicity of Languages and Technologies for Web-Based Development Using a Multi-paradigm Approach

  • Sameh El-Ansary
  • Donatien Grolaux
  • Peter Van Roy
  • Mahmoud Rafea
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3389)


In this paper, we present QHTML, a library for building Web-based applications in Oz. QHTML provides the Oz programmer with a basic set of abstractions through which creating Web-based interfaces becomes similar to traditional graphical toolkits. In the mean time, QHTML is an experiment investigating whether a single language can replace the numerous ad-hoc combined languages/technologies currently used for building Web-based interfaces. QHTML is realized thanks to the multi-paradigm features of the Oz programming language, which supports symbolic data structures, a functional programming style, an object-oriented style and concurrency via dataflow and lightweightthreads.


Graphical User Interface Scalable Vector Graphic Remote Procedure Call Window Show 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.
    W3C: HTML 4.01 specification (1999),
  2. 2.
    Netscape: Javascript documentation (2004),
  3. 3.
  4. 4. The common gateway interface (2001),
  5. 5.
  6. 6.
    PHP: PHP homepage (2004),
  7. 7.
    W3C: Cascading style sheet level2, CSS2 specification (1998),
  8. 8.
    W3C: The extensible markup language (2001),
  9. 9.
    Goodman, D.: Dynamic HTML: The Definitve Reference. O’Reilly & Assoicates, Sebastopol (1998)Google Scholar
  10. 10.
    W3C: Document object model (DOM) level 3 core specification (2001),
  11. 11.
    Smolka, G.: The Oz programming model. In: van Leeuwen, J. (ed.) Computer Science Today. LNCS, vol. 1000, pp. 324–343. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  12. 12.
    Mozart Consortium: The Mozart Programming System homepage (2004),
  13. 13.
    Ousterhout, J.: Tcl and the Tk Toolkit. Addison-Wesley, Reading (1994)zbMATHGoogle Scholar
  14. 14.
    Grolaux, D., Van Roy, P.: QTk – an integrated model-based approach to designing executable user interfaces. LNCS, vol. 8. Springer, Heidelberg (2001)Google Scholar
  15. 15.
    Grolaux, D., Van Roy, P., Vanderdonckt, J.: QTk – a mixed declarative/procedural approach for designing executable user interfaces. In: 8, Toronto, Canada. LNCS. Springer, Heidelberg (2001)Google Scholar
  16. 16.
    Mehl, M.: The Oz Virtual Machine - Records, Transients, and Deep Guards. PhD thesis, Technische Fakultät der Universität des Saarlandes (1999)Google Scholar
  17. 17.
    Hudak, P.: The Haskell school of expression: learning functional programming through multimedia. Cambridge University Press, Cambridge (2000)Google Scholar
  18. 18.
    Hanus, M.: A unified computation model for functional and logic programming. In: Proc. 24st ACM Symposium on Principles of Programming Languages (POPL 1997), pp. 80–93 (1997)Google Scholar
  19. 19.
    Gill, A.: The HTML library for haskell (1999),
  20. 20.
    Hanus, M.: High-level server side Web scripting in curry. In: Ramakrishnan, I.V. (ed.) PADL 2001. LNCS, vol. 1990, p. 76. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  21. 21.
    W3C: Scalable vector graphics (SVG) 1.0 specification (2001),

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Sameh El-Ansary
    • 1
  • Donatien Grolaux
    • 2
  • Peter Van Roy
    • 2
  • Mahmoud Rafea
    • 1
  1. 1.Swedish Institute of Computer ScienceSweden
  2. 2.Université catholique de LouvainBelgium

Personalised recommendations