snap-core-0.5.5: Snap: A Haskell Web Framework (Core)
Snap is a simple and fast web development framework and server written in Haskell. For more information or to download the latest version, you can visit the Snap project website at http://snapframework.com/.
This library contains the core definitions and types for the Snap framework, including:
- Primitive types and functions for HTTP (requests, responses, cookies, post/query parameters, etc)
- Type aliases and helper functions for Iteratee I/O
- A monad for programming web handlers called "Snap", inspired by happstack's (http://happstack.com/index.html), which allows:
- Stateful access to the HTTP request and response objects
- Monadic failure (i.e. MonadPlus/Alternative instances) for declining to handle requests and chaining handlers together
- Early termination of the computation if you know early what you want to return and want to prevent further monadic processing
Quick start: The Snap
monad and HTTP definitions are in Snap.Types,
some iteratee utilities are in Snap.Iteratee.
Higher-level facilities for building web applications (like user/session management, component interfaces, data modeling, etc.) are planned but not yet implemented, so this release will mostly be of interest for those who:
- need a fast and minimal HTTP API at roughly the same level of abstraction as Java servlets, or
- are interested in contributing to the Snap Framework project.