Previous methods have generally identified the location of a type error as a particular program point or the program subtree rooted at that point. We present a new approach that identifies the location of a type error as a set of program points (a slice) all of which are necessary for the type error. We identify the criteria of completeness and minimality for type error slices. We discuss the advantages of complete and minimal type error slices over previous methods of presenting type errors. We present and prove the correctness of algorithms for finding complete and minimal type error slices for implicitly typed higher-order languages like Standard ML.
Haack and Wells REF apply error slicing in the context of a ML language with type infererence, and identify the criteria of completeness and minimality for type error slices.
Type error slicing in implicitly typed higher-order languages
Sci. Comput. Program.
Computer Science