Web/Framework Interfaces
Below are high-level abstractions of various Haskell web frameworks, called interfaces, because they provide a generic interface with various frameworks.
Hack
Hack is a simple interface for applications. Based on Ruby's Rack, it presents a very low barrier to entry. Unlike WAI, it uses lazy bytestrings for request and response bodies, making it easier to use for some. Many backends are available, for numerous backends; simply search hackage for "hack-handler-".
License | BSD3 |
---|---|
Author | Wang, Jinjing |
Maintainer | Wang, Jinjing <nfjinjing@gmail.com> |
Package & repositories | Hackage - Github |
WAI
The WAI (Web Application Interface) is designed to be a type-safe and performant interface. Type safety is achieved by having data types such as RequestHeader, ResponseHeader, HttpVersion, as opposed to simply using Strings or ByteStrings. Performance is achieved by using an enumerator interface, allowing constant-space response construction without needing lazy I/O. Backends available are currently a simple server, CGI, FastCGI, SCGI and a Warp Server backend.
License: | BSD3 |
---|---|
Author: | Michael Snoyman |
Maintainer: | michael@snoyman.com |
Announcement: | Haskell-Cafe |
Package & repositories | Hackage - Github |