Snap is a
web development framework
A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build and ...
written in the
Haskell programming language.
Overview
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
Lift or LIFT may refer to:
Physical devices
* Elevator, or lift, a device used for raising and lowering people or goods
** Paternoster lift, a type of lift using a continuous chain of cars which do not stop
** Patient lift, or Hoyer lift, mobile ...
'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.
* Third party snaplets for features such as file uploads, database connectivity (
PostgreSQL
PostgreSQL (, ), also known as Postgres, is a free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. It was originally named POSTGRES, referring to its origins as a successor to the In ...
,
MongoDB
MongoDB is a source-available cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas. MongoDB is developed by MongoDB Inc. and licensed under the Ser ...
, etc.), generation of
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
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 th
IterateeI/O model, As of version 1.0, its i/o is implemented wit
io-streams
Usage
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 static site generator Hakyll uses Snap for its preview mode.
Other Haskell web frameworks
*
Yesod (web framework)
* Scotty
* Spock
* MFlow
* Miso
References
External links
Snap framework
{{Web frameworks
Haskell software
Free software programmed in Haskell
Web frameworks
Software using the BSD license