Implementing a Type Debugger for Scala
Statically-typed languages offer type systems that are less and less comprehensible for programmers as the language grows in complexity. In this paper, we present a type debugger, a tool that enables analysis of type-related problems as well as exploration of the typechecking process in general. We explain our findings on implementing a lightweight instrumentation mechanism for Scala, as well as guide the reader through some typical debugging scenarios in which one can use our tool. The type debugger visualizes the internals of the typechecker which we believe increases its chances of being a successful educational tool, and which simplifies understanding of statically-typed languages in general.
typedebugger-applc2012.pdf
Postprint
openaccess
646.46 KB
Adobe PDF
dfebdba2f699f36b3f162d2410da54f0