Training | Web Services in Haskell

Let's build a web service together and learn several aspects of a realistic Haskell application along the way.



Learn how to use and integrate all the components needed to run a web service in Haskell. Diving in a bit further, this course teaches you how to integrate different Haskell libraries in order to create a working application.

Servant for routing, Aeson for JSON manipulation, Persistent for database access, Validation for input validation.


  • Familiarity with the Basic concepts of Haskell: ADTs, pattern matching, and types.

What you'll learn

Session 1

  • Introduce Servant to define web services at the type-level.
  • Define servers as implementations of the web services.

Session 2

  • Use Aeson to handle requests and responses in JSON
  • Describe HTML templates using Blaze.
  • Validating input and responding to errors.

Session 3

  • Simple database access using Persistent.
  • Complex queries using Esqueleto.

Session 4

  • Concurrently, yet safe, processing.
  • Communication with other systems and message queues.

Company and Private Group Training

Company and Private Group Training


  • web services
  • Servant
  • JSON

This Web Services in Haskell includes:

  • Maximum Class Size of 15
  • Access to Academy EduTools Platform
  • Access to Course Materials
  • Certificate of Completion
  • Access to a Private Channel with Trainers in the Academy Slack
  • A Q&A session one week post-course
  • A pre-and-post meeting with our trainers

Upcoming Academy Events