Article de reference

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...

Snap is a web framework for developing web applications written in the functionalprogramming languageHaskell.

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 Iterateeinput/output (I/O) model, As of version 1.0, its I/O is implemented with io-streams.

Usage

Snap est utilisé par Silk, JanRain, Racemetric, Lee Paste's Financial Blog, SooStone Inc et Group Commerce. Snap est également utilisé comme serveur Haskell léger et autonome. Le générateur de sites statiques Hakyll utilise Snap pour son mode aperçu.

Autres frameworks web Haskell

  • sur GitHub
  • Programmation Haskell