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
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:
- Crafting Code with Sandro Mancuso (Online Course on 14th - 15th October 2021)
- Domain Models in Practice with Marco Heimeshoff (Online Course on 8th - 12th November 2021)
- Haskell eXchange 2021: Novice Track (Online Conference on 15th November 2021)
- Haskell eXchange 2021: Pro Track (Online Conference on 16th - 17th November 2021)
- Hashing Modulo Alpha Equivalence (SkillsCast recorded in May 2021)
- In The Belly Of The Whale: Tales From Haskell In The Enterprise (SkillsCast recorded in May 2021)
Building a Web Library Using Super Hard Haskell
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