Goanna: Resolving Haskell Type Errors With Minimal Correction Subsets
Shuai Fu, Tim Dwyer, Peter J. Stuckey, John Grundy

TL;DR
Goanna is a tool for Haskell that helps programmers debug type errors by identifying minimal correction subsets, improving error resolution accuracy and aiding learning in a complex type system.
Contribution
We introduce Goanna, a novel type error debugging tool for Haskell that uses minimal correction subsets to suggest potential fixes, enhancing error diagnosis.
Findings
Goanna accurately identified type error causes in 86 Haskell programs.
Techniques and heuristics improved error diagnosis effectiveness.
Goanna aids learning by clarifying complex type errors.
Abstract
Statically typed languages offer significant advantages, such as bug prevention, enhanced code quality, and reduced maintenance costs. However, these benefits often come at the expense of a steep learning curve and a slower development pace. Haskell, known for its expressive and strict type system, poses challenges for inexperienced programmers in learning and using its type system, especially in debugging type errors. We introduce Goanna, a novel tool that serves as a type checker and an interactive type error debugging tool for Haskell. When encountering type errors, Goanna identifies a comprehensive list of potential causes and resolutions based on the minimum correction subsets (MCS) enumeration. We evaluated Goanna's effectiveness using 86 diverse Haskell programs from online discourse, demonstrating its ability to accurately identify and resolve type errors. Additionally, we…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Parallel Computing and Optimization Techniques · Advanced Data Storage Technologies
