Article ID | Journal | Published Year | Pages | File Type |
---|---|---|---|---|
423944 | Electronic Notes in Theoretical Computer Science | 2006 | 27 Pages |
Abstract
Datatype specialization is a form of subtyping that captures program invariants on data structures that are expressed using the convenient and intuitive datatype notation. Of particular interest are structural invariants such as well-formedness. We investigate the use of phantom types for describing datatype specializations. We show that it is possible to express statically-checked specializations within the type system of Standard ML. We also show that this can be done in a way that does not lose useful programming facilities such as pattern matching in case expressions.
Related Topics
Physical Sciences and Engineering
Computer Science
Computational Theory and Mathematics