Theoretical Computer Science
Algebraic reconstruction of types and effects
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Dependent types in practical programming
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Operational interpretations of linear logic
Theoretical Computer Science - Special issue on linear logic, 1
On regions and linear types (extended abstract)
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Adoption and focus: practical linear types for imperative programming
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
The Definition of Standard ML
A type system for bounded space and functional in-place update
Nordic Journal of Computing
Dependent types in practical programming
Dependent types in practical programming
Combining programming with theorem proving
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Type inference in applied type system
Type inference in applied type system
Types for safe resource sharing in sequential and concurrent programming
Types for safe resource sharing in sequential and concurrent programming
L3: a linear language with locations
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Safe programming with pointers through stateful views
PADL'05 Proceedings of the 7th international conference on Practical Aspects of Declarative Languages
Superficially substructural types
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
The potential of linear logic in facilitating reasoning on resource usage has long been recognized. However, convincing uses of linear types in practical programming are still rather rare. In this paper, we present a general design to effectively support practical programming with linear types. In particular, we introduce and then formalize a modality, which we refer to as the sharing modality, in support of sharing of linear resources (with no use of locks). We develop the underlying type theory for the sharing modality and establish its soundness based on a notion of types with effects. We also point out an intimate relation between this modality and the issue of code reentrancy. In addition, we present realistic examples to illustrate the use of sharing modality, which are verified in the programming language ATS and thus provide a solid proof of concept.