Marcin Rzeźnicki

Building a web library using super hard Haskell

The idea of this talk came to me when I was looking for a Haskell library for JWT. I wasn't completely satisfied with the interface like `HashMap Text Value`, so I decided to write something myself (yes, I suffer from a severe form of NIH syndrome). It turned out that I had to explore many things that I wanted to share with other Haskell enthusiasts:
– type families
– “open product" types
– GHC rewrite rules
– type-level literals
– generics
– and more stuff with types …
With some of them I had to experiment with or dig out of the burrows of the Internet, about some others I only read in books, so I think that this material can serve well as a cheat-sheet. In the course of this talk I'll try to present how they can be applied to solve well-defined domain-modelling problems, and try to convince the audience that seemingly “complicated" Haskell is not so difficult at all.