A natural semantics for lazy evaluation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Principal type-schemes for functional programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
MFCS '93 Proceedings of the 18th International Symposium on Mathematical Foundations of Computer Science
A Generic Programming Extension for Clean
IFL '02 Selected Papers from the 13th International Workshop on Implementation of Functional Languages
Logic in Computer Science: Modelling and Reasoning about Systems
Logic in Computer Science: Modelling and Reasoning about Systems
Practical type inference for arbitrary-rank types
Journal of Functional Programming
A generic usage analysis with subeffect qualifiers
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Heap recycling for lazy languages
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Implementation and Application of Functional Languages
Hi-index | 0.00 |
We modify Clean's uniqueness type system in two ways. First, while Clean functions that are partially applied to a unique argument are necessarily unique (they cannot lose their uniqueness), we just require that they must be unique when applied. This ultimately makes subtyping redundant. Second, we extend the type system to allow for higher-rank types. To be able to do this, we explicitly associate type constraints (attribute inequalities) with type schemes. Consequently, types in our system are much more precise about constraint propagation.