Automatic type inference via partial evaluation

  • Authors:
  • Aaron Tomb;Cormac Flanagan

  • Affiliations:
  • University of California, Santa Cruz, Santa Cruz, CA;University of California, Santa Cruz, Santa Cruz, CA

  • Venue:
  • PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Type checking and type inference are fundamentally similar problems. However, the algorithms for performing the two operations, on the same type system, often differ significantly. The type checker is typically a straightforward encoding of the original type rules. For many systems, type inference is performed using a two-phase, constraint-based algorithm.We present an approach that, given the original type rules written as clauses in a logic programming language, automatically generates an efficient, two-phase, constraint-based type inference algorithm. Our approach works by partially evaluating the type checking rules with respect to the target program to yield a set of constraints suitable for input to an external constraint solver. This approach avoids the need to manually develop and verify a separate type inference algorithm, and is ideal for experimentation with and rapid prototyping of novel type systems.