- Source: Snap (web framework)
Snap is a web framework for developing web applications written in the functional programming language Haskell.
Overview
The Snap framework consists of the following:
snap-core, a generic Haskell web server API.
snap-server, a fast HTTP server that implements the snap-core interface.
Heist, an HTML-based templating system for generating pages that allows you to bind Haskell functionality to HTML tags for a clean separation of view and backend code, much like Lift's snippets. Heist is self-contained and can be used independently.
Snaplets, a high-level system for building modular web applications.
Built-in snaplets for templating, session management, and authentication.
Third party snaplets for features including file uploads, database connectivity (PostgreSQL, MongoDB, etc.), generation of JavaScript from Haskell code, and more.
The Snap monad for stateful access to HTTP requests and responses.
Snap runs on both Windows NT and Unix-like platforms. Snap uses the Iteratee input/output (I/O) model, As of version 1.0, its I/O is implemented with io-streams.
Usage
Snap is used by Silk, JanRain, Racemetric, Lee Paste's Financial Blog, SooStone Inc, and Group Commerce. Snap is also used as a lightweight, standalone Haskell server. The static site generator Hakyll uses Snap for its preview mode.
Other Haskell web frameworks
Yesod (web framework)
Servant (web framework)
Scotty
Spock
MFlow
Miso
References
External links
Official website
Snap Framework on GitHub