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...

Full description

Bibliographic Details
Main Authors: Hongwei Xi, Frank Pfenning
Other Authors: The Pennsylvania State University CiteSeerX Archives
Format: Text
Language:English
Published: 1997
Subjects:
DML
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