Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 63 lines (36 sloc) 1.706 kb
b22027f Initial checkin of various non-code files
Carl Howells authored
1 Snap Framework
2 ==============
3
96e3347 Doug Beardsley Updated readmes, removed example app and related data.
mightybyte authored
4 Snap is a web framework for Haskell, based on iteratee I/O (as [popularized by
5d591d8 Doug Beardsley More readme work
mightybyte authored
5 Oleg Kiselyov](http://okmij.org/ftp/Streams.html#iteratee)). For more
6 information about Snap, read the `README.SNAP.md` or visit the Snap project
7 website at http://www.snapframework.com/.
b22027f Initial checkin of various non-code files
Carl Howells authored
8
9 ## Library contents
10
5d591d8 Doug Beardsley More readme work
mightybyte authored
11 This is top-level project for the Snap Framework, which contains:
b22027f Initial checkin of various non-code files
Carl Howells authored
12
13 * a command-line utility for creating initial Snap applications
14
15 * a library allowing Snap applications to recompile actions on the
16 fly in development mode, with no performance loss in production
17 mode.
18
96e3347 Doug Beardsley Updated readmes, removed example app and related data.
mightybyte authored
19 * a "snaplet" API allowing web applications to be build from composable
20 pieces.
b22027f Initial checkin of various non-code files
Carl Howells authored
21
22 Building snap
23 =============
24
25 The snap tool and library are built using
96e3347 Doug Beardsley Updated readmes, removed example app and related data.
mightybyte authored
26 [Cabal](http://www.haskell.org/cabal/) and
b22027f Initial checkin of various non-code files
Carl Howells authored
27 [Hackage](http://hackage.haskell.org/packages/hackage.html). Just run
28
29 cabal install
30
31 from the `snap` toplevel directory.
32
33
34 ## Building the Haddock Documentation
35
96e3347 Doug Beardsley Updated readmes, removed example app and related data.
mightybyte authored
36 The haddock documentation can be built using 'cabal haddock'.
b22027f Initial checkin of various non-code files
Carl Howells authored
37
38 The docs get put in `dist/doc/html/`.
39
40
41 ## Building the testsuite
42
43 To build the test suite, `cd` into the `test/` directory and run
44
45 $ cabal configure
46 $ cabal build
47
48 From here you can invoke the testsuite by running:
49
50 $ ./runTestsAndCoverage.sh
51
52
53 The testsuite generates an `hpc` test coverage report in `test/dist/hpc`.
d8d6ab3 Doug Beardsley Add description of suggested roadmap for learning about snaplets.
mightybyte authored
54
55
56 ## Roadmap to Understanding Snaplets
57
96e3347 Doug Beardsley Updated readmes, removed example app and related data.
mightybyte authored
58 1. Read Tutorial.lhs which is in `project_template/tutorial/src`.
d8d6ab3 Doug Beardsley Add description of suggested roadmap for learning about snaplets.
mightybyte authored
59 2. Generate and read the haddock docs.
96e3347 Doug Beardsley Updated readmes, removed example app and related data.
mightybyte authored
60 3. The test code has the nice property that it actually functions as a pretty good example app and covers a lot of the use cases.
d8d6ab3 Doug Beardsley Add description of suggested roadmap for learning about snaplets.
mightybyte authored
61 4. If you're interested in the implementation, read design.md.
96e3347 Doug Beardsley Updated readmes, removed example app and related data.
mightybyte authored
62
Something went wrong with that request. Please try again.