Applications and libraries/Web programming: Difference between revisions
DonStewart (talk | contribs) (+lambdaFeed) |
(WraXML added) |
||
Line 47: | Line 47: | ||
;[http://www.cse.unsw.edu.au/~chak/haskell/lambdaFeed/ lambdaFeed] | ;[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. | :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. | ||
;[http://darcs.haskell.org/wraxml WraXML] | |||
:A little wrapper to HaXML: It provides a more natural data structure for representing XML trees, and converts between HaXML and its custom tree structure. The operations on the tree need not to be of type (a -> [a]), thus using these functions is a bit more type safe. | |||
=== HTML === | === HTML === |
Revision as of 14:57, 2 August 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.
- 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.
- WraXML
- A little wrapper to HaXML: It provides a more natural data structure for representing XML trees, and converts between HaXML and its custom tree structure. The operations on the tree need not to be of type (a -> [a]), thus using these functions is a bit more type safe.
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.