scotty: Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp

[ bsd3, library, web ] [ Propose Tags ]

A Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp.

{-# LANGUAGE OverloadedStrings #-}

import Web.Scotty

import Data.Monoid (mconcat)

main = scotty 3000 $
  get "/:word" $ do
    beam <- param "word"
    html $ mconcat ["<h1>Scotty, ", beam, " me up!</h1>"]

Scotty is the cheap and cheerful way to write RESTful, declarative web applications.

As for the name: Sinatra + Warp = Scotty.

WAI
http://hackage.haskell.org/package/wai
Warp
http://hackage.haskell.org/package/warp

[Skip to Readme]
Versions 0.0.1, 0.1.0, 0.2.0, 0.3.0, 0.4.0, 0.4.1, 0.4.2, 0.4.3, 0.4.4, 0.4.5, 0.4.6, 0.5.0, 0.6.0, 0.6.1, 0.6.2, 0.7.0, 0.7.1, 0.7.2, 0.7.3, 0.8.0, 0.8.1, 0.8.2, 0.9.0, 0.9.1, 0.10.0, 0.10.1, 0.10.2, 0.11.0, 0.11.1 (info)
Change log changelog.md
Dependencies aeson (>=0.6.2.1 && <1.5), base (>=4.6 && <5), blaze-builder (>=0.3.3.0 && <0.5), bytestring (>=0.10.0.2 && <0.11), case-insensitive (>=1.0.0.1 && <1.3), data-default-class (>=0.0.1 && <0.2), exceptions (>=0.7 && <0.11), fail, http-types (>=0.8.2 && <0.13), monad-control (>=1.0.0.3 && <1.1), mtl (>=2.1.2 && <2.3), nats (>=0.1 && <2), network (>=2.6.0.2 && <2.8), regex-compat (>=0.95.1 && <0.96), text (>=0.11.3.1 && <1.3), transformers (>=0.3.0.0 && <0.6), transformers-base (>=0.4.1 && <0.5), transformers-compat (>=0.4 && <0.7), wai (>=3.0.0 && <3.3), wai-extra (>=3.0.0 && <3.1), warp (>=3.0.13 && <3.3) [details]
License BSD-3-Clause
Copyright (c) 2012-Present Andrew Farmer
Author Andrew Farmer <xichekolas@gmail.com>
Maintainer Andrew Farmer <xichekolas@gmail.com>
Revised Revision 2 made by ryanglscott at Mon Jun 11 14:11:44 UTC 2018
Category Web
Home page https://github.com/scotty-web/scotty
Bug tracker https://github.com/scotty-web/scotty/issues
Source repo head: git clone git://github.com/scotty-web/scotty.git
Uploaded by ryanglscott at Sat Apr 7 15:05:09 UTC 2018
Distributions Fedora:0.11.0, LTSHaskell:0.11.1, NixOS:0.11.1, Stackage:0.11.1, openSUSE:0.11.1
Downloads 32051 total (168 in the last 30 days)
Rating 2.5 (votes: 3) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-04-14 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Flags

NameDescriptionDefaultType
hpc-coveralls

Build hpc-coveralls in the test suite.

EnabledManual

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees


Readme for scotty-0.11.1

[back to package description]

Scotty Build StatusCoverage Status

A Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp.

{-# LANGUAGE OverloadedStrings #-}
import Web.Scotty

import Data.Monoid (mconcat)

main = scotty 3000 $
    get "/:word" $ do
        beam <- param "word"
        html $ mconcat ["<h1>Scotty, ", beam, " me up!</h1>"]

Scotty is the cheap and cheerful way to write RESTful, declarative web applications.

  • A page is as simple as defining the verb, url pattern, and Text content.
  • It is template-language agnostic. Anything that returns a Text value will do.
  • Conforms to WAI Application interface.
  • Uses very fast Warp webserver by default.

See examples/basic.hs to see Scotty in action. (basic.hs needs the wai-extra package)

> runghc examples/basic.hs
Setting phasers to stun... (port 3000) (ctrl-c to quit)
(visit localhost:3000/somepath)

As for the name: Sinatra + Warp = Scotty.

More Information

Tutorials and related projects can be found in the Scotty wiki:

https://github.com/scotty-web/scotty/wiki

Development & Support

Open an issue on GitHub or join #scotty on Freenode.

Copyright (c) 2012-2017 Andrew Farmer