servant/README.md

62 lines
2.0 KiB
Markdown
Raw Normal View History

2015-09-20 13:28:06 +02:00
# servant - A Type-Level Web DSL
2014-12-08 10:56:02 +01:00
[![Build Status](https://secure.travis-ci.org/haskell-servant/servant.svg)](http://travis-ci.org/haskell-servant/servant)
![servant](https://raw.githubusercontent.com/haskell-servant/servant/master/servant.png)
2015-09-20 13:28:06 +02:00
## Quotes
> Servant may just be the coolest single Haskell library.
> - <cite>ephrion, [reddit](https://www.reddit.com/r/haskell/comments/3g8jb0/contenttype_bliss/ctw75hg)</cite>
<br>
> servant is awesome so far, there's really nothing else like it right now for
> haskell. ... It's absolutely fantastic, I look back at my old [other haskell
> web framework] code and it might as well have been javascript. Great work,
> just great.
> - <cite>dmj, #servant</cite>
<br>
> It is one of the coolest libraries I have ever seen.
> - <cite>Taylor Fausak, [Type safe web services in Haskell with Servant](http://taylor.fausak.me/2015/08/23/type-safe-web-services-in-haskell-with-servant/)</cite>
2014-12-08 10:56:02 +01:00
2015-05-11 10:36:25 +02:00
## Tutorial
2014-12-08 10:56:02 +01:00
2015-08-17 23:50:42 +02:00
We have a [tutorial](http://haskell-servant.github.io/tutorial) guide that
introduces the core types and features of servant. After this article, you
should be able to write your first servant webservices, learning the rest from
the haddocks' examples.
2015-09-20 13:28:06 +02:00
Other blog posts, videos and slides can be found on the [website](http://haskell-servant.github.io/)
2015-08-17 23:50:42 +02:00
## Contributing
Contributions are very welcome! To hack on the github version, clone the
repository. You can use `cabal`:
```shell
./scripts/start-sandbox.sh # Initialize the sandbox and add-source the packages
./scripts/test-all.sh # Run all the tests
```
`stack`:
```shell
stack build # Install and build packages
stack test # Run all the tests
```
Or `nix`:
```shell
./scripts/generate-nix-files.sh # Get up-to-date shell.nix files
2015-08-17 23:50:42 +02:00
```
2015-09-07 18:53:46 +02:00
Though we aren't sticklers for style, the `.stylish-haskell.yaml` and `HLint.hs`
2015-08-17 23:50:42 +02:00
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!