Please log in to watch this conference skillscast.
The idea for this talk came to me when I was looking for a Haskell library for JWT. I wasn't completely satisfied with interfaces like HashMap Text Value
, so I decided to write something myself. It eventually took the form of libjwt-typed library.
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
- FFI
- DataKinds
- generics
I think that this material can serve well as a cheat-sheet. In the course of this talk, I'll try to present how these (sometimes not widely known) techniques can be applied to solve well-defined domain-modelling problems. But more importantly, I'll try to convince the audience that seemingly “complicated" Haskell is not so difficult at all, and can bring tangible benefits. Despite what SimpleHaskell advocates say: the library turns out to be many times faster than contenders, while giving the user a more enjoyable, less error-prone interface to work with.
YOU MAY ALSO LIKE:
- Domain Models in Practice with Marco Heimeshoff (Online Course on 8th - 12th March 2021)
- Haskell Fundamentals (2-Day Course) with Alejandro Serrano (Online Course on 8th - 9th March 2021)
- Haskell eXchange 2021 (Online Conference on 16th - 17th November 2021)
- Theorems for Free (SkillsCast recorded in November 2020)
- Comparing Strict and Lazy (SkillsCast recorded in November 2020)
Building a Web Library Using Super Hard Haskell
Marcin Rzeźnicki
Marcin Rzeźnicki is a programmer with close to 20 years of professional experience, mostly filled with immense displeasure of working in C#, Java or Ruby until I witnessed the advent of FP in the industry and regained the knowledge I'd lost leaving academia halls. Embracing Scala helped me to become born-again programmer, type system theorist and category theory hobbyist. I gave talks at meetups and conferences on subjects like: Kleisli arrows, dependent types and Free monads. I recently left Scala to devote myself to a clearly superior language: Haskell