Common LISP: the language
Communications of the ACM
GEDANKEN—a simple typeless language based on the principle of completeness and the reference concept
Communications of the ACM
Correspondence between ALGOL 60 and Church's Lambda-notation: part I
Communications of the ACM
Engines build process abstractions
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
T: a dialect of Lisp or LAMBDA: The ultimate software tool
LFP '82 Proceedings of the 1982 ACM symposium on LISP and functional programming
Continuation-based multiprocessing
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
Definitional interpreters for higher-order programming languages
ACM '72 Proceedings of the ACM annual conference - Volume 2
Macaroni is better than spaghetti
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
An Interpreter for Extended Lambda Calculus
An Interpreter for Extended Lambda Calculus
ORBIT: an optimizing compiler for scheme
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Revised report on the algorithmic language scheme
ACM SIGPLAN Notices
GL—a denotational testbed with continuations and partial continuations as first-class objects
SIGPLAN '87 Papers of the Symposium on Interpreters and interpretive techniques
Memory allocation and higher-order functions
SIGPLAN '87 Papers of the Symposium on Interpreters and interpretive techniques
Stores and partial continuations as first-class objects in a language and its environment
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Reasoning about continuations with control effects
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Composing first-class transactions
ACM Transactions on Programming Languages and Systems (TOPLAS)
Embedding type structure in semantics
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Revised report on the algorithmic language scheme
ACM SIGPLAN Lisp Pointers
Para-functional programming: a paradigm for programming multiprocessor systems
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Proceedings of the 24th International Conference on Software Engineering
Using a Continuation Twice and Its Implications for the Expressive Power of call/cc
Higher-Order and Symbolic Computation
Higher-Order and Symbolic Computation
Orbit: an optimizing compiler for scheme
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
A complete, co-inductive syntactic theory of sequential control and state
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Adding delimited and composable control to a production programming environment
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
The scheme environment: continuations
ACM SIGPLAN Lisp Pointers
ACM SIGPLAN Lisp Pointers
A static simulation of dynamic delimited control
Higher-Order and Symbolic Computation
Higher-Order and Symbolic Computation
A complete, co-inductive syntactic theory of sequential control and state
Semantics and algebraic specification
The impact of higher-order state and control effects on local relational reasoning
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
A rational deconstruction of landin's j operator
IFL'05 Proceedings of the 17th international conference on Implementation and Application of Functional Languages
Hi-index | 0.00 |
Continuations, when available as first-class objects, provide a general control abstraction in programming languages. They liberate the programmer from specific control structures, increasing programming language extensibility. Such continuations may be extended by embedding them in functional objects. This technique is first used to restore a fluid environment when a continuation object is invoked. We then consider techniques for constraining the power of continuations in the interest of security and efficiency. Domain mechanisms, which create dynamic barriers for enclosing control, are implemented using fluids. Domains are then used to implement an unwind-protect facility in the presence of first-class continuations. Finally, we demonstrate two mechanisms, wind-unwind and dynamic-wind, that generalize unwind-protect.