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, generation of JavaScript from Haskell code, and more.
- The Snap monad for stateful access to HTTP requests and responses.
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