Type assignment for intersections and unions in call-by-value languages

  • Authors:
  • Joshua Dunfield;Frank Pfenning

  • Affiliations:
  • Department of Computer Science, Carnegie Mellon University, Pittsburgh, PA;Department of Computer Science, Carnegie Mellon University, Pittsburgh, PA

  • Venue:
  • FOSSACS'03/ETAPS'03 Proceedings of the 6th International conference on Foundations of Software Science and Computation Structures and joint European conference on Theory and practice of software
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

We develop a system of type assignment with intersection types, union types, indexed types, and universal and existential dependent types that is sound in a call-by-value functional language. The combination of logical and computational principles underlying our formulation naturally leads to the central idea of type-checking subterms in evaluation order. We thereby provide a uniform generalization and explanation of several earlier isolated systems. The proof of progress and type preservation, usually formulated for closed terms only, relies on a notion of definite substitution.