Server side web scripting in Haskell

  • Authors:
  • Erik Meijer

  • Affiliations:
  • Department of Computer Science, Utrecht University, PO Box 80089, 3508 TB Utrecht, The Netherlands (e-mail: erik@cs.uu.nl)

  • Venue:
  • Journal of Functional Programming
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Common Gateway Interface (CGI) for generating dynamic documents on web servers imposes much accidental complexity on the programmer. The Haskell/CGI library documented in this paper hides all this unpleasantness by using the common sense ‘design pattern’ of separating model and presentation. Low-level query string requests are represented by association lists, and primitive HTTP responses are easily constructed using a set of HTML generating combinators. The CGI programmer only needs to write a worker function that maps an abstract request into an abstract response. A (higher-order) wrapper function then transmutes the worker into a real low-level CGI script that deals with the exact format of concrete requests and responses as required by the CGI standard.