Hybrid type checking

  • Authors:
  • Kenneth Knowles;Cormac Flanagan

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

  • Venue:
  • ACM Transactions on Programming Languages and Systems (TOPLAS)
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Traditional static type systems are effective for verifying basic interface specifications. Dynamically checked contracts support more precise specifications, but these are not checked until runtime, resulting in incomplete detection of defects. Hybrid type checking is a synthesis of these two approaches that enforces precise interface specifications, via static analysis where possible, but also via dynamic checks where necessary. This article explores the key ideas and implications of hybrid type checking, in the context of the λ-calculus extended with contract types, that is, with dependent function types and with arbitrary refinements of base types.