Theoretical Computer Science
CLEAN: A language for functional graph rewriting
Proc. of a conference on Functional programming languages and computer architecture
Is there a use for linear logic?
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Notions of computation and monads
Information and Computation
Specification structures and propositions-as-types for concurrency
Proceedings of the VIII Banff Higher order workshop conference on Logics for concurrency : structure versus automata: structure versus automata
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Conventional and Uniqueness Typing in Graph Rewrite Systems
Proceedings of the 13th Conference on Foundations of Software Technology and Theoretical Computer Science
Implementation and Application of Functional Languages
Parameterised notions of computation
Journal of Functional Programming
Hi-index | 0.00 |
A uniqueness type system is used to distinguish values which are referenced at most once from values which may be referenced an arbitrary number of times in a program. Uniqueness type systems are used in the Clean and Mercury programming languages to provide efficiently updatable data-structures and I/O without compromising referential transparency.In this paper we establish a Curry-Howard-Lambek equivalence between a form of uniqueness types and a 'resource-sensitive' logic. This logic is similar to intuitionistic linear logic, however the modality, which moderates the structural rules in the antecedent in the same way as !, is introduced via the dual ? rules. We discuss the categorical proof theory and models of this new logic, as well as its computational interpretation.