Fully Reflexive Intensional Type Analysis

Abstract

Compilers for polymorphic languages can use runtime type inspection to support advanced implementation techniques such as tagless garbage collection, polymorphic marshalling, and flattened data structures. Intensional type analysis is a type-theoretic framework for expressing and certifying such type-analyzing computations. Unfortunately, existing approaches to intensional analysis do not work well on types with universal, existential, or fixpoint quantifiers. This makes it impossible to code applications such as garbage collection, persistency, or marshalling which must be able to examine the type of any runtime value. We present a typed intermediate language that supports fully reflexive intensional type analysis. By fully reflexive, we mean that type-analyzing operations are applicable to the type of any runtime value in the language. In particular, we provide both type-level and term-level constructs for analyzing quantified types. Our system supports structural induction on quantified types yet type checking remains decidable. We show how to use reflexive type analysis to support type-safe marshalling and how to generate certified type analyzing object code.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 2005
Accession Number
ADA436483

Entities

People

  • Bratin Saha
  • Valery Trifonov
  • Zhong Shao

Organizations

  • Yale University

Tags

Communities of Interest

  • C4I

DTIC Thesaurus Topics

  • Abstracts
  • Calculus
  • Compilers
  • Computations
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Confluence
  • Dictionaries
  • Distributed Computing
  • Inspection
  • Judgment
  • Language
  • Notation
  • Programming Languages
  • Translations

Fields of Study

  • Computer science

Readers

  • Logistics and Supply Chain Management.
  • Mathematical Modeling and Probability Theory.
  • Parallel and Distributed Computing.