Accession Number : ADA290316

Title :   Compiling with Non-Parametric Polymorphism.

Descriptive Note : Preliminary rept.,

Corporate Author : CARNEGIE-MELLON UNIV PITTSBURGH PA SCHOOL OF COMPUTER SCIENCE

Personal Author(s) : Harper, Robert ; Morrisett, Greg

PDF Url : ADA290316

Report Date : FEB 1994

Pagination or Media Count : 27

Abstract : There is a middle ground between parametric and ad-hoc polymorphism in which a computation can depend upon a type parameter but is restricted to being defined at all types in an inductive fashion. We call such polymorphism non-parametric. We show how non-parametric polymorphism can be used to implement a variety of useful language mechanisms including overloading, unboxed data representations in the presence of ML-style polymorphism, and canonical representations of equivalent types. We show that, by using a second-order, explicitly typed language extended with non-parametric operations, these mechanisms can be implemented without having to tag data with type information at runime. Furthermore, this approach retains a 'phase distinction' and permits static type checking and separate compilation. Our aim is to provide a unifying language, translation, and proof framework in which a variety of non-parametric mechanisms can be expressed and verified. (AN)

Descriptors :   *PROGRAMMING LANGUAGES, *POLYMORPHISM, DATA PROCESSING, PARAMETRIC ANALYSIS, PARAMETERS, SEMANTICS, NONPARAMETRIC STATISTICS, DYNAMIC PROGRAMMING, COMPILERS, STRUCTURED PROGRAMMING.

Subject Categories : Computer Programming and Software

Distribution Statement : APPROVED FOR PUBLIC RELEASE