Benjamin Lerner

Searching for Type-Error Messages

copyright notice

Benjamin Lerner, Matthew Flower, Dan Grossman, and Craig Chambers

PLDI 2007

Abstract

Advanced type systems often need some form of type inference to reduce the burden of explicit typing, but type inference often leads to poor error messages for programs that do not type-check. This work pursues a new approach to constructing compilers and presenting type-error messages in which the type-checker itself does not produce the messages. Instead, it is an oracle for a search procedure that finds similar programs that do type-check. Our two-fold goal is to improve error messages while simplifying compiler construction.

Our primary implementation and evaluation is for Caml, a language with full type inference. We also present a prototype for C++ template functions, where type instantiation is implicit. A key extension is making our approach robust even when the program has multiple independent type errors.

Links

Contact

download vcard icon
Email (essential):
Location (likely):
Department of Computer Science, Office 309
Post (possible):
work Post-Doctoral Research Associate Brown University / Department of Computer Science / 115 Waterman Street, 4th floor / Providence, RI 02912-1910