Skip to main content

Web Programming with SMLserver

  • Conference paper
  • First Online:
Book cover Practical Aspects of Declarative Languages (PADL 2003)

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

Included in the following conference series:

Abstract

SMLserver is an effcient multi-threadedWeb server platform for Standard ML programs. It provides access to a variety of different Relational Database Management Systems (RDBMSs), including Oracle, MySQL, and PostgreSQL. We describe the execution model and the region-based memory model of SMLserver and explain our solutions to the design issues we were confronted with in the development. We also describe our experience with programming and maintaining Web applications using Standard ML, which provides higher-order functions, static typing, and a rich module system. Through experiments based on user scenarios for some common Web tasks, the paper demonstrates the efficiency of SMLserver, both with respect to script execution and database connectivity.

Part time at Royal Veterinary and Agricultural University of Denmark.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Lars Birkedal, Mads Tofte, and Magnus Vejlstrup. From region inference to von Neumann machines via region representation inference. In Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 171–183. ACM Press, January 1996.

    Google Scholar 

  2. Claus Brabrand, Anders Møller, and Michael I. Schwartzbach. The <Bigwig> project. ACM Transactions on Internet Technology, 2(2), May 2002.

    Google Scholar 

  3. Peter Buneman and Atsushi Ohori. Polymorphism and type inference in database programming. ACM Transactions on Database Systems, 21(1):30–76, 1996.

    Article  Google Scholar 

  4. Eelco Dolstra and Armijn Hemel. mod_haskell, January 2000. http://losser.st-lab.cs.uu.nl/mod_haskell.

  5. Martin Elsman. Static interpretation of modules. In Procedings of Fourth International Conference on Functional Programming (ICFP’99), pages 208–219. ACM Press, September 1999.

    Google Scholar 

  6. Martin Elsman and Niels Hallenberg. A region-based abstract machine for the ML Kit. Technical Report TR–2002–18, IT University of Copenhagen, August 2002.

    Google Scholar 

  7. Martin Elsman and Niels Hallenberg. SMLserver—A Functional Approach to Web Publishing. The IT University of Copenhagen, February 2002. (154 pages). Available via http://www.smlserver.org.

  8. Matthew Fluet and Riccardo Pucella. Phantom types and subtyping. In Second IFIP International Conference on Theoretical Computer Science (TCS’02), pages 448–460, August 2002.

    Google Scholar 

  9. Paul Graunke, Shriram Krishnamurthi, Robert Bruce Findler, and Matthias Felleisen. Automatically restructuring programs for the web. In 17th IEEE International Conference on Automated Software Engineering (ASE’01), September 2001.

    Google Scholar 

  10. Paul Graunke, Shriram Krishnamurti, Steve Van Der Hoeven, and Matthias Felleisen. Programming the web with high-level programming languages. In European Symposium On Programming (ESOP’01), April 2001.

    Google Scholar 

  11. Philip Greenspun. Philip and Alex’s Guide to Web Publishing. Morgan Kaufmann, May 1999. 596 pages. ISBN: 1558605347.

    Google Scholar 

  12. Niels Hallenberg, Martin Elsman, and Mads Tofte. Combining region inference and garbage collection. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’02). ACM Press, June 2002. Berlin, Germany.

    Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  14. Robin Milner, Mads Tofte, Robert Harper, and David MacQueen. The Definition of Standard ML (Revised). MIT Press, 1997.

    Google Scholar 

  15. Open Market, Inc. FastCGI: A High-Performance Web Server Interface, April 1996. Technical white paper. Available from http://www.fastcgi.com.

  16. Christian Queinnec. The influence of browsers on evaluators or, continuations to program web servers. In Fifth International Conference on Functional Programming (ICFP’00), September 2000.

    Google Scholar 

  17. Sergei Romanenko, Claudio Russo, and Peter Sestoft. Moscow ML Owner’s Manual, June 2000. For version 2.00. 35 pages.

    Google Scholar 

  18. Anders Sandholm and Michael I. Schwartzbach. A type system for dynamic web documents. In Proceedings of the ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL). ACM Press, January 2000.

    Google Scholar 

  19. Konrad Slind. Object language embedding in Standard ML of New Jersey. In Proceedings of the Second ML Workshop, CMU SCS Technical Report. Carnegie Mellon University, Pittsburgh, Pennsylvania, November 1991.

    Google Scholar 

  20. Lincoln Stein and Doug MacEachern. Writing Apache Modules with Perl and C. O’Reilly & Associates, April 1999. ISBN1-56592-567-X.

    Google Scholar 

  21. Peter Thiemann. Wash/CGI: Server-side Web scripting with sessions and typed, compositional forms. In Procedings of Practical Aspects of Declarative Languages (PADL’02). Springer-Verlag, January 2002. Portland, Oregon.

    Google Scholar 

  22. Mads Tofte, Lars Birkedal, Martin Elsman, Niels Hallenberg, Tommy Højfeld Olesen, and Peter Sestoft. Programming with regions in the ML Kit (for version 4). Technical Report TR–2001–07, IT University of Copenhagen, October 2001.

    Google Scholar 

  23. Mads Tofte and Jean-Pierre Talpin. Region-based memory management. Information and Computation, 132(2):109–176, 1997.

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Elsman, M., Hallenberg, N. (2003). Web Programming with SMLserver. In: Dahl, V., Wadler, P. (eds) Practical Aspects of Declarative Languages. PADL 2003. Lecture Notes in Computer Science, vol 2562. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36388-2_7

Download citation

  • DOI: https://doi.org/10.1007/3-540-36388-2_7

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-00389-2

  • Online ISBN: 978-3-540-36388-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics