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