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

From HaskellWiki
Jump to: navigation, search
(Redirect to web, which usurps this page)
(79 intermediate revisions by 30 users not shown)
Line 1: Line 1:
{{unknown copyright}}
#redirect [[Web]]
== 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]
:A significantly RFC compliant HTTP/1.1 client implementation. This is an updated version of [http://homepages.paradise.net.nz/warrickg/haskell/http/ Warrick Gray's original version].
;[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.
;[http://www2-data.informatik.unibw-muenchen.de/EdComb/index.html EdComb]
:Another combinator library -- for [[Libraries and tools/Editors|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.
;[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.
;[http://darcs.haskell.org/~lemmih/hasp/ 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.
;[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.uu.nl/wiki/WebFunctions/WebHome WebFunctions]
:WebFunctions is a EDSL for developing websites, implemented in Haskell. WebFunctions is a domain specific embedded language for web authoring.
;[http://www.cin.ufpe.br/~haskell/hwsproxygen/ 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 ===
;[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.
;[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.cs.york.ac.uk/fp/Xtract/ Xtract]
:Xtract is a `grep'-like command-line tool for searching XML and HTML documents.
;[http://www.cse.unsw.edu.au/~chak/haskell/lambdaFeed/ lambdaFeed]
:Manuel Chakravarty's RSS 2.0 feed generator. It reads news items - in a non-XML, human-friendly format - distributed over multiple channels and renders them into the RSS 2.0 XML format understood by most news aggregators as well as into HTML for inclusion into web pages.
=== HTML ===
;[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. It is available in the standard libraries as [http://haskell.org/ghc/docs/latest/html/libraries/base/Text-Html.html Text.Html].
;[http://www.cs.chalmers.se/~bringert/darcs/haskell-xhtml/doc/ XHtml library]
:This is a version of [http://haskell.org/ghc/docs/latest/html/libraries/base/Text-Html.html Text.Html], modified to produce XHTML 1.0 Transitional.
=== CGI ===
;[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/doc/ 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 [http://haskell.org/ghc/docs/latest/html/libraries/network/Network-CGI.html Network.CGI] module.
;[http://www.cs.chalmers.se/~bringert/darcs/haskell-fastcgi/doc/ FastCGI library]
:A library for using NewCGI programs with [http://www.fastcgi.com/ FastCGI].
=== XML-RPC and CORBA ===
;[http://www.haskell.org/haxr/ HaXR - the Haskell XML-RPC library]
:An XML-RPC client and server library. [http://www.xmlrpc.com/ 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."
;[http://www.dcs.shef.ac.uk/~simonf/HAIFA.html 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.
;[http://sourceforge.net/projects/haskell-corba/ haskell-corba]
:This package allows Haskell programmers to write CORBA clients and servers using the [http://www.mico.org 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.

Latest revision as of 13:18, 3 October 2010

Redirect to: