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:
- A Curious Case of a Memory that Just Didn't Go Away Quickly (SkillsCast recorded in November 2021)
- Domain Models in Practice with Marco Heimeshoff (Online Workshop on 6th - 10th June 2022)
- Functional Domain Models in Practice with Marco Heimeshoff (Online Workshop on 17th - 21st October 2022)
- Haskell eXchange 2022: Novice Track (Online Conference on 7th December 2022)
- Haskell eXchange 2022: Online Conference (Online Conference on 8th - 9th December 2022)
- Haskell: Why and How the External STG Interpreter is Useful (SkillsCast recorded in December 2021)
- Keynote — Haskell: What To Do When Success Can't Be Avoided (SkillsCast recorded in November 2021)
Building a Web Library Using Super Hard Haskell
Marcin Rzeźnicki
Haskell Software Engineer @ Channable