Installing Snap

Snap is written in the Haskell programming language, and requires the GHC Haskell compiler.

The easiest way to get Snap is with Haskell's Cabal package manager. If you already have Cabal set up, then getting Snap should be as simple as running two commands:

$ cabal update
$ cabal install snap

If you don't have GHC and cabal installed, the easiest way to get them is with the Haskell Platform binary installer.

After Snap is installed, check out the quick start for instructions on getting your project started.

Buildbot

We have set up a continuous integration server to track the progress of our development. The buildbot also builds an up-to-date version of the Snap haddocks if you want to follow along with our git master branch.

Snap Packages

Found a bug in Snap? Please visit our issue tracker.

Snap is made up of a collection of separate packages:

snap-core
Core type definitions (Snap monad, HTTP types, etc) and utilities for web handlers.
[ api docs | hackage | github | test coverage report ]
snap-server
An iteratee-based HTTP server library, which runs Snap web handlers.
[ api docs | hackage | github | test coverage report ]
snap
Umbrella project pulling together Snap's component libraries into a coherent framework.
[ api docs | hackage | github ]
heist
An HTML-based templating engine, allowing Haskell functions to be bound to tags.
[ api docs | hackage | github | test coverage report ]
xmlhtml
A hybrid XML/HTML5 parsing and rendering library written specifically for Heist.
[ api docs | hackage | github | test coverage report ]
snap-website
The source code for this website is a good example of Snap in action.
[ github ]