Technical Report
 

Better Type-Error Messages Through Lazy Typing

Public Deposited

Downloadable Content

Download PDF
https://ir.library.oregonstate.edu/concern/technical_reports/gb19f721z

Descriptions

Attribute NameValues
Creator
Abstract
  • Producing precise and helpful error messages for type inference is still a challenge for implementations of functional languages. Current approaches often lack precision in terms of locating the origins of type errors. Moreover, suggestions for how to fix type errors that are offered by some tools are also often vague or incorrect. To address this problem we have developed a new approach to identifying type errors that is based on delaying typing decisions and systematically gathering context information to support the delayed decision making. Our technique, which we call lazy typing, is based on explicitly representing conflicting types and type errors in choice types that will be accumulated during the typing process. The structure of these types is then analyzed to produce error messages and, in many cases, also type-change suggestions. We will demonstrate that lazy typing is often more precise in locating type errors than existing tools and that it can also produce good type-change suggestions. We do not consider lazy typing as a replacement for other techniques, but rather as an addition that could help improve other approaches.
Resource Type
Date Available
Date Issued
Series
Subject
Rights Statement
Funding Statement (additional comments about funding)
  • This work is supported by the the National Science Foundation under the grants CCF-0917092 and CCF-1219165.
Publisher
Peer Reviewed
Language
Replaces

Relationships

Parents:

This work has no parents.

Items