Overloading the lambda abstraction in Haskell

from blog acatalepsie, | ↗ original
About two years ago, I started working on a little embedded domain-specific language (EDSL) called achille, using Haskell. Because this EDSL has its own notion of morphisms Recipe m a b from a to b, I was looking for a way to let users write such morphisms using regular Haskell functions and the syntax for lambda abstraction, \x -> .... As...