Deriving Via: or, How to Turn Hand-Written Instances into an Anti-pattern
Haskell's deriving construct is a cheap and cheerful way to quickly generate
instances of type classes that follow common patterns. But at present, there
is only a subset of such type class patterns that deriving supports, and
if a particular class lies outside of this subset, then one cannot derive it
at all, with no alternative except for laboriously declaring the instances by hand.
To overcome this deficit, we introduce Deriving Via, an extension to deriving
that enables programmers to compose instances from named programming
patterns, thereby turning deriving into a high-level domain-specific language for
defining instances. Deriving Via leverages newtypes—an already
familiar tool of the Haskell trade—to declare recurring patterns in a
way that both feels natural and allows a high degree of abstraction.
Fri 28 SepDisplayed time zone: Guadalajara, Mexico City, Monterrey change
09:00 - 10:00 | |||
09:00 30mTalk | Deriving Via: or, How to Turn Hand-Written Instances into an Anti-pattern Haskell Baldur Blöndal n.n., n.n., Andres Löh Well-Typed, UK, Ryan Scott Indiana University at Bloomington, USA DOI | ||
09:30 30mTalk | Generic Programming of All Kinds Haskell Alejandro Serrano Utrecht University, Netherlands, Victor Cacciari Miraldo Utrecht University, Netherlands DOI |