Difference between revisions of "Applications and libraries/Web programming"

From HaskellWiki
Jump to navigation Jump to search
(Removed dead links to obsolete versions of Network.CGI.)
Line 11: Line 11:
 
;[http://www.informatik.uni-freiburg.de/~thiemann/haskell/WASH/ WASH]
 
;[http://www.informatik.uni-freiburg.de/~thiemann/haskell/WASH/ WASH]
 
:A family of combinator libraries for programming Web applications. WASH/HTML is for generating dynamic HTML documents, combining flexibility and safety. WASH/CGI is for server-side Web scripting with sessions, compositional forms, and graphics.
 
:A family of combinator libraries for programming Web applications. WASH/HTML is for generating dynamic HTML documents, combining flexibility and safety. WASH/CGI is for server-side Web scripting with sessions, compositional forms, and graphics.
  +
 
;[http://home.tiscali.be/stevevh/ Generative Implementation Strategies for Data-Centric Web Applications]
 
:Generic presentation layer abstractions of administrative web applications are the central theme of this thesis. The domain-engineering approach results in a framework to support user interfaces generated from high-level descriptions. A domain-specific language describes user interfaces. The [hoyweghenSoft.zip Haskell-based generator] transforms these descriptions to user interfaces implemented with JavaScript and XHTML.
  +
 
;[http://www.cs.chalmers.se/~d00nibro/hsp Haskell Server Pages]
 
:Using Haskell as a server-side scripting language, extended to allow embedded XML/XHTML fragments in Haskell code.
  +
  +
=== XML ===
   
 
;[http://www.cs.york.ac.uk/fp/HaXml/ HaXml: utilities for using XML with Haskell]
 
;[http://www.cs.york.ac.uk/fp/HaXml/ HaXml: utilities for using XML with Haskell]
 
:Includes an XML parser, an HTML parser, a pretty-printer, a combinator library for generic XML transformations, and two Haskell>-<XML converters using type-based translation.
 
:Includes an XML parser, an HTML parser, a pretty-printer, a combinator library for generic XML transformations, and two Haskell>-<XML converters using type-based translation.
  +
 
;[http://www.fh-wedel.de/~si/HXmlToolbox/ Haskell XML Toolbox]
 
:The Haskell XML Toolbox bases on the ideas of HaXml and HXML, but introduces a more general approach for processing XML with Haskell. The Haskell XML Toolbox uses a generic data model for representing XML documents, including the DTD subset and the document subset, in Haskell.
  +
  +
=== HTML ===
   
 
;[http://www.cse.ogi.edu/~andy/html/intro.htm The Haskell Html Library] by Andy Gill
 
;[http://www.cse.ogi.edu/~andy/html/intro.htm The Haskell Html Library] by Andy Gill
:This library is a collection of combinators, allowing your Haskell programs to generate HTML.
+
:This library is a collection of combinators, allowing your Haskell programs to generate HTML. It is available in the standard libraries as [http://haskell.org/ghc/docs/latest/html/libraries/base/Text-Html.html Network.Html].
   
 
;[http://www.cs.chalmers.se/~bringert/darcs/haskell-xhtml/ XHtml library]
 
;[http://www.cs.chalmers.se/~bringert/darcs/haskell-xhtml/ XHtml library]
 
:This is a version of [http://haskell.org/ghc/docs/latest/html/libraries/base/Text-Html.html Network.Html], modified to produce XHTML 1.0 Transitional.
 
:This is a version of [http://haskell.org/ghc/docs/latest/html/libraries/base/Text-Html.html Network.Html], modified to produce XHTML 1.0 Transitional.
   
  +
=== CGI ===
;[http://www.fh-wedel.de/~si/HXmlToolbox/ Haskell XML Toolbox]
 
  +
:The Haskell XML Toolbox bases on the ideas of HaXml and HXML, but introduces a more general approach for processing XML with Haskell. The Haskell XML Toolbox uses a generic data model for representing XML documents, including the DTD subset and the document subset, in Haskell.
 
 
;[http://www.haskell.org/ghc/docs/latest/html/libraries/network/Network-CGI.html Network.CGI]
 
: Haskell binding for CGI. Original Version by Erik Meijer. Further hacked on by Sven Panne. Further hacking by Andy Gill.
   
 
;[http://www.cs.chalmers.se/~bringert/darcs/haskell-cgi/ NewCGI]
 
;[http://www.cs.chalmers.se/~bringert/darcs/haskell-cgi/ NewCGI]
:A library for writing CGI programs. Features include:
+
:A new library for writing CGI programs. Features include:
  +
* Access to CGI parameters (e.g. form input) from both GET and POST requests.
* A CGI monad transformer.
 
  +
* Access to CGI environment variables.
* Efficient file upload support using FastPackedString.
 
  +
* Ability to set arbitrary response headers.
  +
* Support for HTTP cookies.
 
* Efficient file upload support.
 
* Wrapper functions for compatibility with the existing [http://haskell.org/ghc/docs/latest/html/libraries/network/Network-CGI.html Network.CGI] module.
 
* Wrapper functions for compatibility with the existing [http://haskell.org/ghc/docs/latest/html/libraries/network/Network-CGI.html Network.CGI] module.
   
 
;[http://www.cs.chalmers.se/~bringert/darcs/haskell-fastcgi/ FastCGI library]
 
;[http://www.cs.chalmers.se/~bringert/darcs/haskell-fastcgi/ FastCGI library]
 
:A library for using NewCGI programs with [http://www.fastcgi.com/ FastCGI].
 
:A library for using NewCGI programs with [http://www.fastcgi.com/ FastCGI].
 
;[http://www.haskell.org/ghc/docs/latest/html/libraries/network/Network-CGI.html Network.CGI]
 
: Haskell binding for CGI. Original Version by Erik Meijer. Further hacked on by Sven Panne. Further hacking by Andy Gill.
 
 
;[http://home.tiscali.be/stevevh/ Generative Implementation Strategies for Data-Centric Web Applications]
 
:Generic presentation layer abstractions of administrative web applications are the central theme of this thesis. The domain-engineering approach results in a framework to support user interfaces generated from high-level descriptions. A domain-specific language describes user interfaces. The [hoyweghenSoft.zip Haskell-based generator] transforms these descriptions to user interfaces implemented with JavaScript and XHTML.
 
 
;[http://www.cs.chalmers.se/~d00nibro/hsp Haskell Server Pages]
 
:Using Haskell as a server-side scripting language, extended to allow embedded XML/XHTML fragments in Haskell code.
 

Revision as of 18:57, 22 March 2006

The copyright status of this work is not known. Please help resolve this on the talk page.

This page contains a list of libraries and tools in a certain category. For a comprehensive list of such pages, see Applications and libraries.

Libraries and Tools for Web, HTML, and XML Programming in Haskell

See also the WebServices page.

HTTP and Browser Modules
A significantly RFC compliant HTTP/1.1 client implementation. This is an updated version of Warrick Gray's original version.
WASH
A family of combinator libraries for programming Web applications. WASH/HTML is for generating dynamic HTML documents, combining flexibility and safety. WASH/CGI is for server-side Web scripting with sessions, compositional forms, and graphics.
Generative Implementation Strategies for Data-Centric Web Applications
Generic presentation layer abstractions of administrative web applications are the central theme of this thesis. The domain-engineering approach results in a framework to support user interfaces generated from high-level descriptions. A domain-specific language describes user interfaces. The [hoyweghenSoft.zip Haskell-based generator] transforms these descriptions to user interfaces implemented with JavaScript and XHTML.
Haskell Server Pages
Using Haskell as a server-side scripting language, extended to allow embedded XML/XHTML fragments in Haskell code.

XML

HaXml: utilities for using XML with Haskell
Includes an XML parser, an HTML parser, a pretty-printer, a combinator library for generic XML transformations, and two Haskell>-<XML converters using type-based translation.
Haskell XML Toolbox
The Haskell XML Toolbox bases on the ideas of HaXml and HXML, but introduces a more general approach for processing XML with Haskell. The Haskell XML Toolbox uses a generic data model for representing XML documents, including the DTD subset and the document subset, in Haskell.

HTML

The Haskell Html Library by Andy Gill
This library is a collection of combinators, allowing your Haskell programs to generate HTML. It is available in the standard libraries as Network.Html.
XHtml library
This is a version of Network.Html, modified to produce XHTML 1.0 Transitional.

CGI

Network.CGI
Haskell binding for CGI. Original Version by Erik Meijer. Further hacked on by Sven Panne. Further hacking by Andy Gill.
NewCGI
A new library for writing CGI programs. Features include:
  • Access to CGI parameters (e.g. form input) from both GET and POST requests.
  • Access to CGI environment variables.
  • Ability to set arbitrary response headers.
  • Support for HTTP cookies.
  • Efficient file upload support.
  • Wrapper functions for compatibility with the existing Network.CGI module.
FastCGI library
A library for using NewCGI programs with FastCGI.