scottish: scotty with batteries included

[ bsd3, library, web ] [ Propose Tags ]

Scotty web framework with batteries included. For configurations/states, you don't need to hand-roll your own monads every time. Scottish will manage it for you.

{-# LANGUAGE OverloadedStrings #-}

import Web.Scottish

import Data.Monoid (mconcat)
import Data.Monoid (mconcat)
import Data.Text.Lazy (Text)
import Network.HTTP.Types.Status (notFound404)

main = scottish' 3000 $ do
  setConfig (Just "beam")

  get "/" $ do
    beam <- getConfig :: ScottishActionM' (Maybe Text) () (Maybe Text)
    html $ mconcat ["<h1>Scotty, ", fromJust beam, " me up!</h1>"]

  get "/:word" $ do
    raise notFound404

[Skip to Readme]
Versions [RSS] [faq],
Dependencies base (==4.6.*), data-default (==0.5.*), enclosed-exceptions (==1.0.*), http-types (==0.8.*), lens (>=3.10 && <4.1), mtl (==2.1.*), persistent (==1.3.*), resource-pool (==0.2.*), scotty (>=0.6 && <0.8), stm (==2.4.*), text (==1.0.*), transformers (==0.3.*), wai (>=2.0 && <2.2), warp (>= && <2.2) [details]
License BSD-3-Clause
Copyright (c) 2014 Zhang Yichao
Author Zhang Yichao <>
Maintainer Zhang Yichao <>
Category Web
Home page
Bug tracker
Source repo head: git clone git://
Uploaded by echaozh at 2014-03-18T03:10:56Z
Distributions NixOS:
Downloads 1412 total (4 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Successful builds reported [all 1 reports]




Maintainer's Corner

For package maintainers and hackage trustees


Readme for scottish-

[back to package description]


Provides global read-only configuration and global/action-local read-write states to Scotty.

For now, scottish also provides helpers for database access, especially with persistent.