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

From HaskellWiki
Jump to navigation Jump to search
(+HWSProxyGen)
(+HAppS)
Line 3: Line 3:
   
 
== Libraries and Tools for Web, HTML, and XML Programming in Haskell ==
 
== Libraries and Tools for Web, HTML, and XML Programming in Haskell ==
  +
  +
;[http://happs.org/ HAppS - Haskell Application Server]
  +
:The Haskell Application Server contains a monadic framework for ACID transactions, an HTTP server (outperforms Apache/PHP in informal benchmarks), an SMTP server and mail delivery agent. A DNS resolver in pure Haskell. And XML and XSLT support.
   
 
;[http://www.haskell.org/http/ HTTP and Browser Modules]
 
;[http://www.haskell.org/http/ HTTP and Browser Modules]

Revision as of 03:57, 17 April 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

HAppS - Haskell Application Server
The Haskell Application Server contains a monadic framework for ACID transactions, an HTTP server (outperforms Apache/PHP in informal benchmarks), an SMTP server and mail delivery agent. A DNS resolver in pure Haskell. And XML and XSLT support.
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.
EdComb
Another combinator library -- for editors! But a very fruitfully general approach to the concept of editor is presented. Therefore, these editor combinators can be used also e.g. as browser combinators, with interesting new possibilities for browsers.
Haskell Server Pages
Using Haskell as a server-side scripting language, extended to allow embedded XML/XHTML fragments in Haskell code.
HASP
HASP is a fork of Niklas Broberg?s Haskell Server Pages. Changes includes:
  • support for all GHC extensions
  • front-end based on FastCGI instead of its own web server
  • minor bug fixes and performance tuning.
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.
WebFunctions
WebFunctions is a EDSL for developing websites, implemented in Haskell. WebFunctions is a domain specific embedded language for web authoring.
HWSProxyGen
A web services proxy generator for the Haskell functional language, implemented in Haskell and C#. The final purpose is to show that Haskell and functional languages in general can be used as a viable way to the implementation of distributed components and applications, interacting with services implemented in different languages and/or platforms.

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.
Xtract
Xtract is a `grep'-like command-line tool for searching XML and HTML documents.

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 Text.Html.
XHtml library
This is a version of Text.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.

XML-RPC and CORBA

HaXR - the Haskell XML-RPC library
An XML-RPC client and server library. XML-RPC is "remote procedure calling using HTTP as the transport and XML as the encoding. XML-RPC is designed to be as simple as possible, while allowing complex data structures to be transmitted, processed and returned."
HAIFA
HAIFA is an implementation of parts of the web-service architecture in Haskell. Notably it includes an XML serializer, a partial implementation of XML Schema and SOAP/1.1.
haskell-corba
This package allows Haskell programmers to write CORBA clients and servers using the MICO open-source CORBA implementation. It defines a Haskell language mapping for CORBA, and includes an IDL compiler which generates Haskell stub and skeleton modules from IDL files.