Theoretical Computer Science
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The theory and practice of first-class prompts
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Region-based memory management in cyclone
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
POPL '75 Proceedings of the 2nd ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The Java Language Specification
The Java Language Specification
From control effects to typed continuation passing
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Definitional interpreters for higher-order programming languages
ACM '72 Proceedings of the ACM annual conference - Volume 2
A step-indexed model of substructural state
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Scalable component abstractions
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Typestate-oriented programming
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
A substructural type system for delimited continuations
TLCA'07 Proceedings of the 8th international conference on Typed lambda calculi and applications
Polymorphic delimited continuations
APLAS'07 Proceedings of the 5th Asian conference on Programming languages and systems
Lolliproc: to concurrency from classical linear logic via curry-howard and control
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
L3: a linear language with locations
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Enforcing stateful authorization and information flow policies in fine
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
Hi-index | 0.00 |
Exceptions are invaluable for structured error handling in high-level languages, but they are at odds with linear types. More generally, control effects may delete or duplicate portions of the stack, which, if we are not careful, can invalidate all substructural usage guarantees for values on the stack. We have developed a type-and-effect system that tracks control effects and ensures that values on the stack are never wrongly duplicated or dropped. We present the system first with abstract control effects and prove its soundness. We then give examples of three instantiations with particular control effects, including exceptions and delimited continuations, and show that they meet the soundness criteria for specific control effects.