Tutorial ======== This is an introductory tutorial to **servant**. Whilst browsing is fine, it makes more sense if you read the sections in order, or at least read the first section before anything else. Any comments, issues or feedback about the tutorial can be submitted to `servant's issue tracker `_. cabal-install -------- The whole tutorial is a `cabal `_ project and can be built locally as follows: .. code-block:: bash $ git clone https://github.com/haskell-servant/servant.git $ cd servant # build $ cabal new-build tutorial # load in ghci to play with it $ cabal new-repl tutorial stack -------- The servant `stack `_ template includes the working tutorial. To initialize this template, run: .. code-block:: bash $ stack new myproj servant $ cd myproj # build $ stack build # start server $ stack exec myproj-exe The code can be found in the `*.lhs` files under `doc/tutorial/` in the repository. Feel free to edit it while you're reading this documentation and see the effect of your changes. `Nix `_ users should feel free to take a look at the `nix/shell.nix` file in the repository and use it to provision a suitable environment to build and run the examples. .. toctree:: :maxdepth: 1 ApiType.lhs Server.lhs Client.lhs Javascript.lhs Docs.lhs Authentication.lhs