A Schema for Adding Dependent Types to ML
We present an approach to enriching the type system of ML with a form of dependent types, where index objects are restricted to constraint domains C, leading to the DML(C) language schema. Pure inference for the resulting system is no longer possible, but we show that type-checking a sufficiently an...
Main Authors: | , |
---|---|
Other Authors: | |
Format: | Text |
Language: | English |
Published: |
1997
|
Subjects: | |
Online Access: | http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.3723 http://www.cse.ogi.edu/~hongwei/academic/papers/dml-97b.ps |
id |
ftciteseerx:oai:CiteSeerX.psu:10.1.1.39.3723 |
---|---|
record_format |
openpolar |
spelling |
ftciteseerx:oai:CiteSeerX.psu:10.1.1.39.3723 2023-05-15T16:01:32+02:00 A Schema for Adding Dependent Types to ML Hongwei Xi Frank Pfenning The Pennsylvania State University CiteSeerX Archives 1997 application/postscript http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.3723 http://www.cse.ogi.edu/~hongwei/academic/papers/dml-97b.ps en eng http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.3723 http://www.cse.ogi.edu/~hongwei/academic/papers/dml-97b.ps Metadata may be used without restrictions as long as the oai identifier remains attached to it. http://www.cse.ogi.edu/~hongwei/academic/papers/dml-97b.ps text 1997 ftciteseerx 2016-09-18T00:43:59Z We present an approach to enriching the type system of ML with a form of dependent types, where index objects are restricted to constraint domains C, leading to the DML(C) language schema. Pure inference for the resulting system is no longer possible, but we show that type-checking a sufficiently annotated program can be reduced to constraint satisfaction. We prove that DML(C) is conservative over ML, but the main technical contribution of the paper lies in our language design, including its elaboration and type-checking rules which make the approach practical. This has been demonstrated in related experiments where we obtained significant speedups in many examples by statically eliminating array bound checks. There constraints are linear equalities and inequalities over integers, solved by a variant of Fourier's method. 1 Introduction Type systems for functional languages can be broadly classified into those for rich, realistic languages such as Standard ML[10], CAML[19], or Haskell[. Text DML Unknown Haskell ENVELOPE(-64.279,-64.279,-66.749,-66.749) |
institution |
Open Polar |
collection |
Unknown |
op_collection_id |
ftciteseerx |
language |
English |
description |
We present an approach to enriching the type system of ML with a form of dependent types, where index objects are restricted to constraint domains C, leading to the DML(C) language schema. Pure inference for the resulting system is no longer possible, but we show that type-checking a sufficiently annotated program can be reduced to constraint satisfaction. We prove that DML(C) is conservative over ML, but the main technical contribution of the paper lies in our language design, including its elaboration and type-checking rules which make the approach practical. This has been demonstrated in related experiments where we obtained significant speedups in many examples by statically eliminating array bound checks. There constraints are linear equalities and inequalities over integers, solved by a variant of Fourier's method. 1 Introduction Type systems for functional languages can be broadly classified into those for rich, realistic languages such as Standard ML[10], CAML[19], or Haskell[. |
author2 |
The Pennsylvania State University CiteSeerX Archives |
format |
Text |
author |
Hongwei Xi Frank Pfenning |
spellingShingle |
Hongwei Xi Frank Pfenning A Schema for Adding Dependent Types to ML |
author_facet |
Hongwei Xi Frank Pfenning |
author_sort |
Hongwei Xi |
title |
A Schema for Adding Dependent Types to ML |
title_short |
A Schema for Adding Dependent Types to ML |
title_full |
A Schema for Adding Dependent Types to ML |
title_fullStr |
A Schema for Adding Dependent Types to ML |
title_full_unstemmed |
A Schema for Adding Dependent Types to ML |
title_sort |
schema for adding dependent types to ml |
publishDate |
1997 |
url |
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.3723 http://www.cse.ogi.edu/~hongwei/academic/papers/dml-97b.ps |
long_lat |
ENVELOPE(-64.279,-64.279,-66.749,-66.749) |
geographic |
Haskell |
geographic_facet |
Haskell |
genre |
DML |
genre_facet |
DML |
op_source |
http://www.cse.ogi.edu/~hongwei/academic/papers/dml-97b.ps |
op_relation |
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.3723 http://www.cse.ogi.edu/~hongwei/academic/papers/dml-97b.ps |
op_rights |
Metadata may be used without restrictions as long as the oai identifier remains attached to it. |
_version_ |
1766397352394883072 |