Multiple Strongly Typed Evaluation Phases.

Abstract

This work introduces the programming language notion of multiple strongly typed evaluation phases. or simply, phases. In general, a program might be executed through several phases. Each phase requires its own input, and acts as compiletime relative to the next phase, or runtime relative to the previous phase. Thus, each phase is the execution of a program, and may play the role of compiletime or runtime. The notion of phases offers a framework for understanding compiled strongly typed languages, and works toward an improved, strongly typed language basis for reusable software. The research shows how types can be manipulated as first-class values and notions of compiletime and runtime can be unified, without sacrificing strong typing (compiletime type checking) or runtime speed. Type checking and expression evaluation are performed using the same evaluation mechanism. The apparent conflict of allowing types as first-class values, yet enforcing compiletime type checking, is resolved by the notion of multiple phases: though types may be manipulated as first-class values during one phase, the computed type values become invariants for the next phase.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Oct 01, 1986
Accession Number
ADA178803

Entities

People

  • David Booth

Organizations

  • University of Southern California

Tags

Communities of Interest

  • Cyber
  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Application Software
  • Computational Science
  • Computations
  • Computer Programming
  • Computer Science
  • Computers
  • Debugging
  • Information Processing
  • Information Science
  • Language
  • Operating Systems
  • Programming Languages
  • Recursive Functions
  • Software Development
  • Theoretical Computer Science
  • Translations
  • Translators

Fields of Study

  • Computer science
  • Engineering

Readers

  • Computational Linguistics
  • Hydrologic Risk Analysis and Mitigation.
  • Theoretical Analysis.