When & Where: 12:30pm, Wednesday, Oct 9, 2002, Room 400 AKW
We propose an approach to debugging type errors by mapping the typing problem for a program to a system of constraints each attached to program code that generates the constraints. We use reasoning about constraint satisfiability to find minimal justifications of type errors, and to explain unexpected types that arise. Through an interactive process highly akin to declarative debugging, a user can track down exactly where a type error occurs. The approach handles Hindley-Milner types with Haskell style overloading. It also handles advanced type extensions such as functional dependencies in type classes. The approach is implemented as part of the Chameleon type system.
This work is joint work with Peter J. Stuckey and Jeremy Wazny.