Download:
|
by Peter Thiemann
In International Workshop on Practical Aspects of Declarative Languages (PADL'00
http://www.informatik.uni-freiburg.de/~thiemann/papers/padl00.ps.gz
Add To MetaCart
Abstract:
Abstract. We dene HTML as an embedded domain specic language in Haskell. To this end, we have designed and implemented a combinator library which provides the means to create and modify HTML elements. Haskell's type classes are employed to enforce well-formed HTML to a large degree. Haskell can then be used as a meta language to map structured documents to HTML, to dene conditional content, to extract information from the documents, or to dene entire web sites. We introduce container-passing style as a programming convention for the library. We also pinpoint some shortcomings of Haskell's type system that make the task of this library's implementor tedious. Key words: embedded domain specic language, HTML, functional programming, type classes 1
Citations
|
2771
|
Introduction to Automata Theory, Language, and Computation
– Hopcroft, Ullman
- 1979
|
|
1147
|
Tcl and the Tk Toolkit
– Ousterhout
- 1994
|
|
156
|
Monad transformers and modular interpreters
– Liang, Hudak, et al.
- 1995
|
|
120
|
Type inference for record concatenation and multiple inheritance
– Wand
- 1989
|
|
81
|
2000. Generalising monads to arrows
– Hughes
|
|
71
|
Extensible markup language (XML) 1.0. W3C Recommendation
– Bray, Paoli, et al.
- 1998
|
|
48
|
and XML: Generic combinators or typebased translation
– Haskell
- 1999
|
|
31
|
Typing record concatenation for free
– R'emy
|
|
22
|
Logic programming with the World-Wide Web
– Loke, Davison
- 1996
|
|
20
|
Type classes with existential types
– Laufer
- 1996
|
|
17
|
WWW Programming using Computational Logic Systems (and the PiLLoW/Ciao Library
– Cabeza, Hermenegildo
- 1997
|
|
15
|
Lightweight GUIs for Functional Programming
– Vullinghs, Tuijnman, et al.
- 1995
|
|
13
|
The Design of a Functional GUI Library Using Constructor Classes
– Vullings, Schulte, et al.
- 1996
|
|
8
|
A theory of quali types
– Jones
- 1992
|
|
6
|
An extension of ML with abstract types
– Odersky, Laufer
- 1992
|
|
5
|
Microprocessor speci in Hawk
– Matthews, Cook, et al.
- 1998
|
|
5
|
Server-side web scripting with Haskell
– Meijer
- 2000
|
|
4
|
a non-strict, purely functional language. http://www.haskell.org
– Haskell98
- 1998
|
|
3
|
Functional Programming Environment
– Jones, Gofer
- 1991
|
|
2
|
Website meta language (wml). http://www. engelschall.com/sw/wml
– Engelschall
|
|
2
|
Hugs Online | embracing functional programming. http://www.haskell.org/hugs
– Jones
- 1999
|
|
2
|
Web authoring tools. http://www.zdnet.com/pcmag/ features/htmlauthor/_open.htm
– Magazine
- 1998
|