T13: Web Programming with Servant

  • Julian Arni Zalora
  • Sönke Hahn Zalora
September 04, 2015 1:30 - 5:00 PM


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.

Tutorial objectives

In this tutorial, you'll learn how to use Servant to develop web applications.

Target audience

Julian Arni and Sönke Hahn

Julian Arni

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.