Theoretical Computer Science
Theoretical Computer Science - International Joint Conference on Theory and Practice of Software Development, P
Algebraic reconstruction of types and effects
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Computational interpretations of linear logic
Theoretical Computer Science - Special volume of selected papers of the Sixth Workshop on the Mathematical Foundations of Programming Semantics, Kingston, Ont., Canada, May 1990
Higher-order concurrent programs with finite communication topology (extended abstract)
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Better static memory management: improving region-based analysis of higher-order languages
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
From region inference to von Neumann machines via region representation inference
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Region-based memory management
Information and Computation
Memory management with explicit regions
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Integrating functional and imperative programming
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Linear logic programming with an ordered context
Proceedings of the 2nd ACM SIGPLAN international conference on Principles and practice of declarative programming
Stratified operational semantics for safety and correctness of the region calculus
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type-preserving garbage collectors
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Typed memory management via static capabilities
ACM Transactions on Programming Languages and Systems (TOPLAS)
BI as an assertion language for mutable data structures
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Enforcing high-level protocols in low-level software
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Syntactic control of interference
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN 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
A direct approach to control-flow sensitive region-based memory management
Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming
Region-based memory management in cyclone
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
ESOP '02 Proceedings of the 11th European Symposium on Programming Languages and Systems
A Retrospective on Region-Based Memory Management
Higher-Order and Symbolic Computation
Region inference for an object-oriented language
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Experience with safe manual memory-management in cyclone
Proceedings of the 4th international symposium on Memory management
Bisimilarity for the Region Calculus
Higher-Order and Symbolic Computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
A step-indexed model of substructural state
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Safe manual memory management in cyclone
Science of Computer Programming - Special issue on five perspectives on modern memory management: Systems, hardware and theory
Bunching for Regions and Locations
Electronic Notes in Theoretical Computer Science (ENTCS)
Race-free and memory-safe multithreading: design and implementation in cyclone
Proceedings of the 5th ACM SIGPLAN workshop on Types in language design and implementation
A modality for safe resource sharing and code reentrancy
ICTAC'10 Proceedings of the 7th International colloquium conference on Theoretical aspects of computing
Static typing for a substructural lambda calculus
Frontiers of Computer Science in China
CSL'05 Proceedings of the 19th international conference on Computer Science Logic
Linear regions are all you need
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
A linear type system for multicore programming in ATS
Science of Computer Programming
Static safety guarantees for a low-level multithreaded language with regions
Science of Computer Programming
Hi-index | 0.01 |
We explore how two different mechanisms for reasoning about state,linear typing and the type, region and effect discipline,complement one another in the design of a strongly typed functionalprogramming language. The basis for our language is a simple lambdacalculus containing first-class memory regions, which areexplicitly passed as arguments to functions, returned as resultsand stored in user-defined data structures. In order to ensureappropriate memory safety properties, we draw upon the literatureon linear type systems to help control access to and deallocationof regions. In fact, we use two different interpretations of lineartypes, one in which multiple-use values are freely copied anddiscarded and one in which multiple-use values are explicitlyreference-counted, and show that both interpretations give rise tointeresting invariants for manipulating regions. We also explorenew programming paradigms that arise by mixing first-class regionsand conventional linear data structures.