Skip to main content

Server-Side Web Programming in WASH

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3622))

Abstract

WASH makes server-side Web programming as easy as programming a stand-alone application with an XHTML-based GUI. Starting from an interaction graph model of the application where nodes model web pages and edges correspond to form submissions, each node is implemented by a WASH function and the edges correspond to function invocation. Nodes can be decomposed further into “pagelets”, which are XHTML fragments bundled with associated logic.

We give an introduction to the concepts of WASH programming with this methodology and advocate the design of interactive web functionality in terms of such pagelets. The two components of a pagelet may be specified monolithically or in separation. Pagelets may also be composed up to an entire WASH page. The development of a web-based logging application serves as a running example.

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. Apache cocoon project (June 2004), http://cocoon.apache.org/

  2. CGI: Common gateway interface (1999), http://www.w3.org/CGI/

  3. Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., Berners-Lee, T.: Hypertext transfer protocol (June 1999), http://www.faqs.org/rfcs/rfc2616.html

  4. Graunke, P., Findler, R.B., Krishnamurthi, S., Felleisen, M.: Automatically restructuring programs for the Web. In: Proceedings of ASE-2001: The 16th IEEE International Conference on Automated Software Engineering, San Diego, USA, November 2001, pp. 211–222. IEEE CS Press, Los Alamitos (2001)

    Google Scholar 

  5. Graunke, P.T., Findler, R.B., Krishnamurthi, S., Felleisen, M.: Modeling Web interactions. In: Degano, P. (ed.) ESOP 2003. LNCS, vol. 2618, pp. 238–252. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  6. Graunke, P.T., Krishnamurthi, S.: Advanced control flows for flexible graphical user interfaces: or, growing GUIs on trees or, bookmarking GUIs. In: Proceedings of the 24th International Conference on Software Engineering (ICSE 2002), May 19-25, pp. 277–290. ACM Press, New York (2002)

    Chapter  Google Scholar 

  7. Haskell 98, a non-strict, purely functional language (December 1998), http://www.haskell.org/definition

  8. Hégaret, P.L., Whitmer, R., Wood, L.: W3c document object model (August 2003), http://www.w3.org/DOM/

  9. Thiemann, P.: An embedded domain-specific language for type-safe server-side Web-scripting. ACM Transactions on Internet Technology 5(1), 1–46 (2005)

    Article  Google Scholar 

  10. Wadler, P.: Monads for functional programming. In: Jeuring, J., Meijer, E. (eds.) AFP 1995. LNCS, vol. 925, pp. 24–52. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  11. Web authoring system in Haskell (WASH) (March 2001), http://www.informatik.uni-freiburg.de/~thiemann/haskell/WASH

  12. XForms - the next generation of Web forms (May 2003), http://www.w3.org/MarkUp/Forms/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Thiemann, P. (2005). Server-Side Web Programming in WASH. In: Vene, V., Uustalu, T. (eds) Advanced Functional Programming. Lecture Notes in Computer Science, vol 3622. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11546382_8

Download citation

  • DOI: https://doi.org/10.1007/11546382_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-28540-3

  • Online ISBN: 978-3-540-31872-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics