| <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
| <pkgmetadata> |
| <maintainer type="project"> |
| <email>haskell@gentoo.org</email> |
| <name>Gentoo Haskell</name> |
| </maintainer> |
| <use> |
| <flag name="portable">No non-haskell unportable code.</flag> |
| </use> |
| <longdescription> |
| 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: |
| |
| 1. Primitive types and functions for HTTP (requests, responses, cookies, |
| post/query parameters, etc) |
| |
| 2. Type aliases and helper functions for Iteratee I/O |
| |
| 3. 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.Core", |
| 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. |
| </longdescription> |
| </pkgmetadata> |