Snap (web framework)
|This article is being considered for deletion in accordance with Wikipedia's deletion policy.
Please share your thoughts on the matter at this article's entry on the Articles for deletion page.
Feel free to edit the article, but the article must not be blanked, and this notice must not be removed, until the discussion is closed. For more information, particularly on merging or moving the article during the discussion, read the Guide to deletion.
||This article's use of external links may not follow Wikipedia's policies or guidelines. (March 2014)|
|Original author(s)||Gregory Collins, Doug Beardsley|
|Initial release||May 2010|
|Stable release||0.13 / September 9, 2013|
|Type||Web application framework|
Snap is a simple web development framework written in the Haskell programming language. It is used by Silk, JanRain, Racemetric, www.lpaste.net, SooStone Inc, and Group Commerce. Snap is also used as a lightweight, standalone Haskell server. The popular static site generator Hakyll uses Snap for its preview mode.
The Snap framework comprises:
- 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 completely 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.
Snap runs on *nix platforms; it has been tested on Linux and Mac OSX Snow Leopard. Windows support was added more recently, but is not as well-tested. Snap uses the Iteratee I/O model, As of version 1.0, its i/o is implemented with io-streams.
Other Haskell web frameworks
- Snap team
- Collins, Gregory; Beardsley, Doug (Jan./Feb. 2011). "The Snap Framework: A Web Toolkit for Haskell". IEEE Internet Computing 15 (1): 84–87.
- Biscardi, Chris (2014). Snap for Beginners. Gumroad.
- "FP Complete Case Study - Silk -- Structured Content Management". FP Complete. Retrieved 2014-03-02.
- "FP Complete Case Study - JanRain -- User Management System". FP Complete. Retrieved 2014-03-02.
- "Blog tutorial on Snap and PostgreSQL". JanRain. Retrieved 2014-03-02.
- "Haskell Snap App in Production". Luke Hoersten. Retrieved 2014-03-02.
- "lpaste source code". Chris Done. Retrieved 2014-03-02.
- "Snap 0.3 benchmarks with GHC 7.0.1". www.snapframework.com. Retrieved 2014-03-02.
- "InfoQ Interview: Gregory Collins on High Performance Web Apps with Snap and Haskell". Sept. 12, 2011.