No description
5d40b7787f
Previously, ServerT raw m ~ Application. Seems reasonable, but has the unfortunate consequence of making Enter useless for Raw routes. Attempting to solve the Enter class constraint for a Raw route will run up to IO ResponseReceived, the tail end of the Wai Application type, in practical use ultimately demanding something along the lines of: Enter (IO ResponseReceived) (yourMonad :~> EitherT ServantErr IO) (IO ResponseReceived) There's no need to use Enter on a Raw route anyway, I know, but with this change, the programmer can treat Raw routes and non-Raw routes uniformly with respect to Enter. |
||
---|---|---|
scripts | ||
servant | ||
servant-blaze | ||
servant-cassava | ||
servant-client | ||
servant-docs | ||
servant-examples | ||
servant-foreign | ||
servant-js | ||
servant-lucid | ||
servant-mock | ||
servant-server | ||
.ghci | ||
.gitignore | ||
.stylish-haskell.yaml | ||
.travis.yml | ||
HLint.hs | ||
README.md | ||
servant.png | ||
sources.txt | ||
stack-ghc-7.8.4.yaml | ||
stack.yaml |
servant - A Type-Level Web DSL
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
Contributions are very welcome! To hack on the github version, clone the
repository. You can use cabal
:
./scripts/start-sandbox.sh # Initialize the sandbox and add-source the packages
./scripts/test-all.sh # Run all the tests
stack
:
stack build # Install and build packages
stack test # Run all the tests
Or nix
:
./scripts/generate-nix-files.sh # Get up-to-date shell.nix files
Though we aren't sticklers for style, the .stylish-haskell.yaml
and HLint.hs
files in the repository provide a good baseline for consistency.
Please include a description of the changes in your PR in the CHANGELOG.md
of
the packages you've changed. And of course, write tests!