Dependent Types in Practical Programming (Extended Abstract)
) Hongwei Xi Department of Computer Science and Engineering Oregon Graduate Institute of Science and Technology hongwei@cse.ogi.edu Frank Pfenning Department of Computer Science Carnegie Mellon University fp@cs.cmu.edu Abstract We present an approach to enriching the type system of ML with a restric...
Main Authors: | , |
---|---|
Other Authors: | |
Format: | Text |
Language: | English |
Published: |
1999
|
Subjects: | |
Online Access: | http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.36.5502 http://www.lb.cs.cmu.edu/Groups/fox/people/fp/papers/popl99.ps.gz |
id |
ftciteseerx:oai:CiteSeerX.psu:10.1.1.36.5502 |
---|---|
record_format |
openpolar |
spelling |
ftciteseerx:oai:CiteSeerX.psu:10.1.1.36.5502 2023-05-15T16:01:21+02:00 Dependent Types in Practical Programming (Extended Abstract) Hongwei Xi Frank Pfenning The Pennsylvania State University CiteSeerX Archives 1999 application/postscript http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.36.5502 http://www.lb.cs.cmu.edu/Groups/fox/people/fp/papers/popl99.ps.gz en eng http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.36.5502 http://www.lb.cs.cmu.edu/Groups/fox/people/fp/papers/popl99.ps.gz Metadata may be used without restrictions as long as the oai identifier remains attached to it. http://www.lb.cs.cmu.edu/Groups/fox/people/fp/papers/popl99.ps.gz text 1999 ftciteseerx 2016-01-08T00:46:33Z ) Hongwei Xi Department of Computer Science and Engineering Oregon Graduate Institute of Science and Technology hongwei@cse.ogi.edu Frank Pfenning Department of Computer Science Carnegie Mellon University fp@cs.cmu.edu Abstract We present an approach to enriching the type system of ML with a restricted form of dependent types, where type index objects are drawn from a constraint domain C, leading to the DML(C) language schema. This allows specification and inference of significantly more precise type information, facilitating program error detection and compiler optimization. A major complication resulting from introducing dependent types is that pure type inference for the enriched system is no longer possible, but we show that type-checking a sufficiently annotated program in DML(C) can be reduced to constraint satisfaction in the constraint domain C. We exhibit the unobtrusiveness of our approach through practical examples and prove that DML(C) is conservative over ML. The main . Text DML Unknown |
institution |
Open Polar |
collection |
Unknown |
op_collection_id |
ftciteseerx |
language |
English |
description |
) Hongwei Xi Department of Computer Science and Engineering Oregon Graduate Institute of Science and Technology hongwei@cse.ogi.edu Frank Pfenning Department of Computer Science Carnegie Mellon University fp@cs.cmu.edu Abstract We present an approach to enriching the type system of ML with a restricted form of dependent types, where type index objects are drawn from a constraint domain C, leading to the DML(C) language schema. This allows specification and inference of significantly more precise type information, facilitating program error detection and compiler optimization. A major complication resulting from introducing dependent types is that pure type inference for the enriched system is no longer possible, but we show that type-checking a sufficiently annotated program in DML(C) can be reduced to constraint satisfaction in the constraint domain C. We exhibit the unobtrusiveness of our approach through practical examples and prove that DML(C) is conservative over ML. The main . |
author2 |
The Pennsylvania State University CiteSeerX Archives |
format |
Text |
author |
Hongwei Xi Frank Pfenning |
spellingShingle |
Hongwei Xi Frank Pfenning Dependent Types in Practical Programming (Extended Abstract) |
author_facet |
Hongwei Xi Frank Pfenning |
author_sort |
Hongwei Xi |
title |
Dependent Types in Practical Programming (Extended Abstract) |
title_short |
Dependent Types in Practical Programming (Extended Abstract) |
title_full |
Dependent Types in Practical Programming (Extended Abstract) |
title_fullStr |
Dependent Types in Practical Programming (Extended Abstract) |
title_full_unstemmed |
Dependent Types in Practical Programming (Extended Abstract) |
title_sort |
dependent types in practical programming (extended abstract) |
publishDate |
1999 |
url |
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.36.5502 http://www.lb.cs.cmu.edu/Groups/fox/people/fp/papers/popl99.ps.gz |
genre |
DML |
genre_facet |
DML |
op_source |
http://www.lb.cs.cmu.edu/Groups/fox/people/fp/papers/popl99.ps.gz |
op_relation |
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.36.5502 http://www.lb.cs.cmu.edu/Groups/fox/people/fp/papers/popl99.ps.gz |
op_rights |
Metadata may be used without restrictions as long as the oai identifier remains attached to it. |
_version_ |
1766397253660966912 |