HOME

TheInfoList



OR:

Snap is a web development framework written in the
Haskell Haskell () is a general-purpose, statically-typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research and industrial applications, Haskell has pioneered a number of programming lan ...
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, mobil ...
'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,
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 websites use JavaScript on the client side for webpage behavior, of ...
from Haskell code, and more. * The Snap
monad Monad may refer to: Philosophy * Monad (philosophy), a term meaning "unit" **Monism, the concept of "one essence" in the metaphysical and theological theory ** Monad (Gnosticism), the most primal aspect of God in Gnosticism * ''Great Monad'', a ...
for stateful access to HTTP requests and responses. Snap runs on both Windows NT and Unix-like platforms. Snap uses th
Iteratee
I/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) Yesod (; he, יְסוֺד, "Foundation") is a free and open-source web framework based on Haskell for productive development of type-safe, REST model based (where URLs identify resources, and HTTP methods identify transitions), high performan ...
* 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