The space of web frameworks is so well-trod you might doubt anything new could come up. Servant, a new Haskell web framework, does however take a quite novel approach. So learning how to use it, and use it well, requires thinking a bit differently. But the upshot is safer and more concise web programming.
In this tutorial, you'll learn how to use Servant to develop web applications. The core of Servant is an extensible type-level DSL with multiple interpretations. In addition to the basics, we will cover more advanced topics about how to extend the DSL with new constructs, and add new interpretations to already existing constructs.
A theme throughout will be the underlying design pattern of Servant, which is by no means specific to web programming. We hope this design pattern will become familiar enough that you can also confidently apply it to library design in other (or the same!) areas.
To get the most out of this tutorial, you should be familiar with Haskell already, but need by no means be an expert. We will be using the latest release of Servant; you'll need to have GHC >= 7.8 and cabal installed.
In this tutorial, you'll learn how to use Servant to develop web applications.
Julian Arni is one of the authors of Servant, and a Haskell consultant for Zalora. Sönke Hahn created 'Nikki and the Robots', a 2D-platformer game written in Haskell. He is part of the Functional Programming team at Zalora where he started Servant together with Julian Arni and Alp Mestanogullari.