Typing XHTML Web Applications in ML

In this paper, we present a type system for typing Web applications in SMLserver, an efficient multi-threaded Web server platform for Standard ML scriptlets. The type system guarantees that only conforming XHTML documents are sent to clients and that forms are used consistently and in a type-safe way. The type system is encoded in the type system of Standard ML using so-called phantom types.

[1]  Claus Brabrand,et al.  The < bigwig > Project , 2022 .

[2]  Peter Thiemann,et al.  Programmable Type Systems for Domain Specific Languages , 2002, WFLP.

[3]  Matthias Felleisen,et al.  Modeling Web Interactions , 2003, ESOP.

[4]  Conor McBride Faking it: Simulating dependent types in Haskell , 2002, J. Funct. Program..

[5]  Ken Friis Larsen,et al.  Typing XHTML Web Applications in SMLserver , 2003 .

[6]  Matthias Blume No-Longer-Foreign: Teaching an ML compiler to speak C "natively" , 2001, Electron. Notes Theor. Comput. Sci..

[7]  Erik Meijer Server side web scripting in Haskell , 2000, J. Funct. Program..

[8]  Peter Thiemann,et al.  WASH/CGI: Server-Side Web Scripting with Sessions and Typed, Compositional Forms , 2002, PADL.

[9]  Zhe Yang Encoding types in ML-like languages , 2004, Theor. Comput. Sci..

[10]  Riccardo Pucella,et al.  Phantom types and subtyping , 2002, Journal of Functional Programming.

[11]  Christian Queinnec,et al.  The influence of browsers on evaluators or, continuations to program web servers , 2000, ICFP '00.

[12]  Aske Simon Christensen,et al.  Extending Java for High-Level Web Service Construction , 2002 .

[13]  Daan Leijen,et al.  Domain specific embedded compilers , 1999, DSL '99.

[14]  Anders Sandholm,et al.  A type system for dynamic Web documents , 2000, POPL '00.

[15]  Simon L. Peyton Jones,et al.  Calling hell from heaven and heaven from hell , 1999, ICFP '99.

[16]  Peter Thiemann,et al.  Under Consideration for Publication in J. Functional Programming a Typed Representation for Html and Xml Documents in Haskell , 2022 .

[17]  Daniel Fridlender,et al.  Do we need dependent types? , 2000, Journal of Functional Programming.

[18]  M. Felleisen,et al.  Automatically restructuring programs for the Web , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[19]  Claus Brabrand,et al.  Static validation of dynamically generated HTML , 2001, PASTE '01.

[20]  Martin Elsman,et al.  Web Programming with SMLserver , 2003, PADL.

[21]  Daniel Fridlender,et al.  Do we Need Dependent Types , 2001 .

[22]  Simon L. Peyton Jones,et al.  Type Classes in Haskell , 1994, ESOP.