Goanna: Resolving Haskell Type Errors With Minimal Correction Subsets

Bibliographic Details
Title: Goanna: Resolving Haskell Type Errors With Minimal Correction Subsets
Authors: Fu, Shuai, Dwyer, Tim, Stuckey, Peter J., Grundy, John
Publication Year: 2024
Collection: Computer Science
Subject Terms: Computer Science - Human-Computer Interaction, Computer Science - Programming Languages
More Details: 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 present a collection of techniques and heuristics to enhance Goanna's suggestion-based error diagnosis and show their effectiveness from our evaluation.
Document Type: Working Paper
Access URL: http://arxiv.org/abs/2405.12697
Accession Number: edsarx.2405.12697
Database: arXiv
More Details
Description not available.