Strange Loop

Build Haskell Web Services!

Haskell is an interesting language with a lot of literature. If you want to learn about the type system, the compiler, category theory, parsing, error-handling strategies, representing JSON and other little languages - great! But, what if you wanted to build an application? There's a scarcity of resources that guide you through the process of creating a full Haskell application. Putting together all the pieces can be daunting!

This workshop aims to address that problem.

In two hours, we'll walk through the process of building a simple HTTP/JSON API in Haskell while leveraging several great libraries. We'll walk through the initial project setup, dependency management, directory structuring, JSON [en|de]coding, endpoint registration, logging, and ad-hoc testing.

This workshop assumes that:

If you're not comfortable with Functor/Monad/Applicative and related abstractions, that's okay! If you're still getting used to Haskell's type systems, that's okay, too! We'll make use of them in fairly simple ways, and I'll explain as we go. They'll be far from the focus of this talk.

All code used in this workshop will be made available in a git repository, along with instructions to set up the workshop development environment on Linux, Mac OS X, and Windows.

Allele Cabrera

Allele Cabrera


Allele Cabrera is a software developer with an interest in programming languages, type theory, social structures, and Haskell. By day, they help write backend services in Haskell for Eduphoria. By night, they'll read research papers, enjoy a great deal of laziness, and make sure the cats are happy and fed. They listen to chiptune and love 4-arrow dance games.