Conjunctive polymorphic type checking with explicit types
An expressive type language and the ability to do compile-time type inference are desirable goals in language design, but the attainment of the former may preclude the possibility of the latter. Specifically, the type conjunction operator (type intersection) induces a rich type language at the expen...
Main Author: | |
---|---|
Other Authors: | |
Format: | Others |
Language: | en_US |
Published: |
Virginia Polytechnic Institute and State University
2015
|
Subjects: | |
Online Access: | http://hdl.handle.net/10919/54527 |
id |
ndltd-VTETD-oai-vtechworks.lib.vt.edu-10919-54527 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-VTETD-oai-vtechworks.lib.vt.edu-10919-545272020-12-23T05:32:28Z Conjunctive polymorphic type checking with explicit types Flannery, Kevin E. Computer Science and Applications LD5655.V856 1989.F637 Programming languages (Electronic computers) An expressive type language and the ability to do compile-time type inference are desirable goals in language design, but the attainment of the former may preclude the possibility of the latter. Specifically, the type conjunction operator (type intersection) induces a rich type language at the expense of decidability of the typeable expressions. Two extreme alternatives to this dilemma are to abandon type inference (and force the programmer to, essentially, supply a derivation for his type claims) or to abandon (or restrict) type conjunction. This work presents a third alternative in which the programmer, at times, may be required to supply explicit types in order for type inference to succeed. In this way, the power of conjunctive types is preserved, yet compile-time type inference can be done for a large class of polymorphic functions, including those typeable with parametric types. To this end, we introduce a simple combinator based language with typing rules based on type conjunction and a subtype relation, of sorts, called "weaker." The validity of the type rules with respect to the usual interpretation of "type" is shown, along with the undecidability of the type relation. It is shown how the computational portion of the language can be modified to accommodate explicit type information which may direct an automatic type derivation. This new language has the principal type property with respect to a decidable relation, although deciding this relation is shown to be an NP-Complete problem. The language is extended to accommodate type fixed points, and extended further to allow all expressions with parametric types to be typed automatically, and to accommodate integers, pairs, sums, and abstract types in the form of type generators. Ph. D. 2015-07-10T20:00:22Z 2015-07-10T20:00:22Z 1989 Dissertation Text http://hdl.handle.net/10919/54527 en_US OCLC# 20316235 In Copyright http://rightsstatements.org/vocab/InC/1.0/ vi, 209 leaves application/pdf application/pdf Virginia Polytechnic Institute and State University |
collection |
NDLTD |
language |
en_US |
format |
Others
|
sources |
NDLTD |
topic |
LD5655.V856 1989.F637 Programming languages (Electronic computers) |
spellingShingle |
LD5655.V856 1989.F637 Programming languages (Electronic computers) Flannery, Kevin E. Conjunctive polymorphic type checking with explicit types |
description |
An expressive type language and the ability to do compile-time type inference are desirable goals in language design, but the attainment of the former may preclude the possibility of the latter. Specifically, the type conjunction operator (type intersection) induces a rich type language at the expense of decidability of the typeable expressions. Two extreme alternatives to this dilemma are to abandon type inference (and force the programmer to, essentially, supply a derivation for his type claims) or to abandon (or restrict) type conjunction. This work presents a third alternative in which the programmer, at times, may be required to supply explicit types in order for type inference to succeed. In this way, the power of conjunctive types is preserved, yet compile-time type inference can be done for a large class of polymorphic functions, including those typeable with parametric types.
To this end, we introduce a simple combinator based language with typing rules based on type conjunction and a subtype relation, of sorts, called "weaker." The validity of the type rules with respect to the usual interpretation of "type" is shown, along with the undecidability of the type relation. It is shown how the computational portion of the language can be modified to accommodate explicit type information which may direct an automatic type derivation. This new language has the principal type property with respect to a decidable relation, although deciding this relation is shown to be an NP-Complete problem. The language is extended to accommodate type fixed points, and extended further to allow all expressions with parametric types to be typed automatically, and to accommodate integers, pairs, sums, and abstract types in the form of type generators. === Ph. D. |
author2 |
Computer Science and Applications |
author_facet |
Computer Science and Applications Flannery, Kevin E. |
author |
Flannery, Kevin E. |
author_sort |
Flannery, Kevin E. |
title |
Conjunctive polymorphic type checking with explicit types |
title_short |
Conjunctive polymorphic type checking with explicit types |
title_full |
Conjunctive polymorphic type checking with explicit types |
title_fullStr |
Conjunctive polymorphic type checking with explicit types |
title_full_unstemmed |
Conjunctive polymorphic type checking with explicit types |
title_sort |
conjunctive polymorphic type checking with explicit types |
publisher |
Virginia Polytechnic Institute and State University |
publishDate |
2015 |
url |
http://hdl.handle.net/10919/54527 |
work_keys_str_mv |
AT flannerykevine conjunctivepolymorphictypecheckingwithexplicittypes |
_version_ |
1719371379919290368 |