Type error diagnosis for OutsideIn(X) in Helium
Summary
Rhodium is a modification to the OutsideIn(X) type inference framework, the type inferencer used in the GHC compiler. Rhodium allows for the usage of
heuristics for advanced type error diagnosis. Rhodium is successfully implemented in the Haskell compiler Helium, which is known for its high quality
type error messages. Using Rhodium, we extend the language with Generalized algebraic datatypes (GADTs). Rhodium has also support for type
families and multi-parameter type classes, while preserving the high quality of the type error messages. We will discuss how the type inferencer uses type
graphs and heuristics to generate these error messages.