Dependent ML An approach to practical programming with dependent types

Abstract We present an approach to enriching the type system of ML with a restricted form of dependent types, where type index terms are required to be drawn from a given type index language ${\cal L}$ that is completely separate from run-time programs, leading to the DML( ${\cal L}$ ) language sche...

Full description

Bibliographic Details
Published in:Journal of Functional Programming
Main Author: XI, HONGWEI
Format: Article in Journal/Newspaper
Language:English
Published: Cambridge University Press (CUP) 2007
Subjects:
DML
Online Access:http://dx.doi.org/10.1017/s0956796806006216
https://www.cambridge.org/core/services/aop-cambridge-core/content/view/S0956796806006216
Description
Summary:Abstract We present an approach to enriching the type system of ML with a restricted form of dependent types, where type index terms are required to be drawn from a given type index language ${\cal L}$ that is completely separate from run-time programs, leading to the DML( ${\cal L}$ ) language schema. This enrichment allows for specification and inference of significantly more precise type information, facilitating program error detection and compiler optimization. The primary contribution of the paper lies in our language design, which can effectively support the use of dependent types in practical programming. In particular, this design makes it both natural and straightforward to accommodate dependent types in the presence of effects such as references and exceptions.