This is a talk that I gave remotely at Func Prog Sweden on 11 June 2024 about the Witchcraft (Elixir Library).

Witchcraft — Lessons From Porting Monads to Elixir Witchcraft, Algae, and Quark bring several utilities to Elixir from other languages like Haskell, enabling an easier, principled use of tools such as algebraic data types and monads. Witchcraft’s goal was to feel fully idiomatic, and provide a gentle learning curve for learning the new concepts that it introduces. Porting concepts into new environments brings its own challenges: in this talk we’ll explore some of the lessons I learned along the way.