No description
Find a file
Andres Loeh b1a6d88845 Revise the Router type to allow proper sharing.
We've previously used functions in the Router type to provide
information for subrouters. But this accesses the Requests too
early, and breaks sharing of the router structure in general,
causing the Router or large parts of the Router to be recomputed
on every request.

We now do not use functions anymore, and properly compute all
static parts of the router first, and gain access to the request
only in Delayed.

This also turns the code used within Delayed into a proper monad
now called DelayedIO, making some of the code using it a bit
nicer.
2016-04-12 09:38:49 +02:00
doc Introduce a Handler alias for ExceptT ServantErr IO 2016-04-11 22:27:29 -07:00
scripts
servant Sort out this changelog situation 2016-04-11 21:54:04 -07:00
servant-blaze version bump 2016-04-07 18:24:29 +08:00
servant-cassava version bump 2016-04-07 18:24:29 +08:00
servant-client Introduce a Handler alias for ExceptT ServantErr IO 2016-04-11 22:27:29 -07:00
servant-docs Sort out this changelog situation 2016-04-11 21:54:04 -07:00
servant-foreign version bump 2016-04-07 18:24:29 +08:00
servant-js version bump 2016-04-07 18:24:29 +08:00
servant-lucid version bump 2016-04-07 18:24:29 +08:00
servant-mock Introduce a Handler alias for ExceptT ServantErr IO 2016-04-11 22:27:29 -07:00
servant-server Revise the Router type to allow proper sharing. 2016-04-12 09:38:49 +02:00
.gitignore tutorial: update .gitignore 2016-03-19 17:40:00 +08:00
.stylish-haskell.yaml
.travis.yml
CONTRIBUTING.md
HLint.hs
README.md
servant.png
sources.txt
stack-ghc-7.8.4.yaml
stack.yaml Fix compilation 2016-03-19 17:40:00 +08:00
travis.sh

servant - A Type-Level Web DSL

servant

Getting Started

We have a tutorial that introduces the core features of servant. After this article, you should be able to write your first servant webservices, learning the rest from the haddocks' examples.

Other blog posts, videos and slides can be found on the website.

If you need help, drop by the IRC channel (#servant on freenode) or mailing list.

Contributing

See CONTRIBUTING.md