Uniqueness Typing Simplified
| Citations: | 3 - 0 self |
BibTeX
@MISC{Vries_uniquenesstyping,
author = {Edsko De Vries and Rinus Plasmeijer and David M Abrahamson},
title = {Uniqueness Typing Simplified},
year = {}
}
OpenURL
Abstract
Abstract. We present a uniqueness type system that is simpler than both Clean’s uniqueness system and a system we proposed previously. The new type system is straightforward to implement and add to existing compilers, and can easily be extended with advanced features such as higher rank types and impredicativity. We describe our implementation in Morrow, an experimental functional language with both these features. Finally, we prove soundness of the core type system with respect to the call-by-need lambda calculus. 1 Introduction to Uniqueness Typing An important property of pure functional programming languages is referential transparency: the same expression used twice must have the same value twice. This makes equational reasoning possible and aids program analysis, but most languages do not have this property. For example, in the following C fragment,







