POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ESOP '94 Selected papers of ESOP '94, the 5th European symposium on Programming
Region-based memory management
Information and Computation
Flexible representation analysis
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Modern compiler implementation in Java
Modern compiler implementation in Java
Syntactic control of interference revisited
Theoretical Computer Science - Special issue on mathematical foundations of programming semantics
The strength of non-size increasing computation
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Syntactic control of interference
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Static prediction of heap space usage for first-order functional programs
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Another Type System for In-Place Update
ESOP '02 Proceedings of the 11th European Symposium on Programming Languages and Systems
Separation Logic: A Logic for Shared Mutable Data Structures
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
Syntactic Control of Inference, Part 2
ICALP '89 Proceedings of the 16th International Colloquium on Automata, Languages and Programming
Alias Types for Recursive Data Structures
TIC '00 Selected papers from the Third International Workshop on Types in Compilation
A type system for bounded space and functional in-place update
Nordic Journal of Computing
Typing with conditions and guarantees for functional in-place update
TYPES'02 Proceedings of the 2002 international conference on Types for proofs and programs
A type system with usage aspects
Journal of Functional Programming
Hi-index | 0.00 |
Hofmann's LFPL is a functional language with constructs which can be interpreted as referring to heap locations. In this view, the language is suitable for expressing and verifying in-place update algorithms. Correctness of this semantics is achieved by a linear typing. We introduce a non-linear typing of first-order LFPL programs which is more permissive than the recent effect-based typing of Aspinall and Hofmann. The system efficiently infers separation assertions as well as destruction and re-use effects for individual layers of recursive-type values. Thus it is suitable for in-place update algorithms with complicated data aliasing.