Haskell module tools for liberating type class design
Abstract
The design of Haskell type class hierarchies for complex purposes, including for standard containers, is a non-trivial exercise, and the evolution of such designs is additionally hampered by the large overhead of connecting to existing implementations. We systematically discuss this overhead, and propose a tool solution, implemented using the GHC API, to automate its generation.