Skip to main content

Typing XHTML Web Applications in ML

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3057))

Abstract

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Blume, M.: No-longer-foreign: Teaching an ML compiler to speak C “natively”. In: Workshop on Multi-language Infrastructure and Interoperability (September 2001)

    Google Scholar 

  2. Brabrand, C., Møller, A., Schwartzbach, M.: Static validation of dynamically generated HTML. In: Workshop on Program Analysis for Software Tools and Engineering (June 2001)

    Google Scholar 

  3. Brabrand, C., Møller, A., Schwartzbach, M.: The <bigwig> project. Transactions on Internet Technology 2(2), 79–114 (2002)

    Article  Google Scholar 

  4. Christensen, A.: Møller, and M. Schwartzbach. Extending Java for high-level Web service construction. Transactions on Programming Languages and Systems 25(6) (November 2003)

    Google Scholar 

  5. Elsman, M., Hallenberg, N.: Web programming with SMLserver. In: Int. Symposium on Practical Aspects of Declarative Languages (January 2003)

    Google Scholar 

  6. Elsman, M., Larsen, K.F.: Typing XHTML web applications in SMLserver. Technical Report ITU-TR-2003-34, IT University of Copenhagen, Denmark (2003)

    Google Scholar 

  7. Finne, S., Leijen, D., Meijer, E., Peyton Jones, S.: Calling hell from heaven and heaven from hell. In: Int. Conference on Functional programming (1999)

    Google Scholar 

  8. Fluet, M., Pucella, R.: Phantom types and subtyping. In: Int. Conference on Theoretical Computer Science (August 2002)

    Google Scholar 

  9. Fridlender, D., Indrika, M.: Functional pearl: Do we need dependent types? Journal of Functional Programming 10(4), 409–415 (2000)

    Article  MATH  Google Scholar 

  10. Graunke, P., Findler, R., Krishnamurthi, S., Felleisen, M.: Modeling web interactions. In: European Symposium On Programming (April 2003)

    Google Scholar 

  11. Graunke, P., Krishnamurthi, S., Findler, R., Felleisen, M.: Automatically restructuring programs for the Web. In: Int. Conference on Automated Software Engineering (September 2001)

    Google Scholar 

  12. Hall, C.V., Hammond, K., Peyton Jones, S., Wadler, P.: Type classes in Haskell. Transactions on Programming Languages and Systems 18(2), 109–138 (1996)

    Article  Google Scholar 

  13. Leijen, D., Meijer, E.: Domain specific embedded compilers. In: Conference on Domain-specific languages (2000)

    Google Scholar 

  14. McBride, C.: Faking it: Simulating dependent types in Haskell. Journal of Functional Programming 12(4&5), 375–392 (2002)

    MATH  MathSciNet  Google Scholar 

  15. Meijer, E.: Server side Web scripting in Haskell. Journal of Functional Programming 10(1), 1–18 (2000)

    Article  MathSciNet  Google Scholar 

  16. Queinnec, C.: The influence of browsers on evaluators or, continuations to program Web servers. In: Int. Conference on Functional Programming (September 2000)

    Google Scholar 

  17. Sandholm, A., Schwartzbach, M.: A type system for dynamic Web documents. In: Symposium on Principles of Programming Languages (January 2000)

    Google Scholar 

  18. Thiemann, P.: Programmable type systems for domain specific languages. In: Workshop on Functional and Logic Programming (June 2002)

    Google Scholar 

  19. Thiemann, P.: A typed representation for HTML and XML documents in Haskell. Journal of Functional Programming 12(4&5), 435–468 (2002)

    MATH  MathSciNet  Google Scholar 

  20. Thiemann, P.: Wash/CGI: Server-side Web scripting with sessions and typed, compositional forms. In: Conference on Practical Aspects of Declarative Languages (January 2002)

    Google Scholar 

  21. W3C. XHTMLTM 1.0: The extensible hypertext markup language (January 2000), 2 edn., http://www.w3.org/TR/xhtml1 (revised August 2002)

  22. Yang, Z.: Encoding types in ML-like languages. In: Int. Conference on Functional Programming (September 1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Elsman, M., Larsen, K.F. (2004). Typing XHTML Web Applications in ML. In: Jayaraman, B. (eds) Practical Aspects of Declarative Languages. PADL 2004. Lecture Notes in Computer Science, vol 3057. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24836-1_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24836-1_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22253-8

  • Online ISBN: 978-3-540-24836-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics