1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer>
<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>
|