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

From HaskellWiki
Jump to: navigation, search
(+lambdaFeed)
(Redirect to web, which usurps this page)
 
(79 intermediate revisions by 30 users not shown)
Line 1: Line 1:
{{unknown copyright}}
 
  +
#redirect [[Web]]
{{LibrariesPage}}
 
 
== 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: