A reduction semantics for imperative higher-order languages
Volume II: Parallel Languages on PARLE: Parallel Architectures and Languages Europe
Embedding continuations in procedural objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
A syntactic theory of sequential control
Theoretical Computer Science
Programming language theory and its implementation
Programming language theory and its implementation
A syntactic theory of sequential state
Theoretical Computer Science
Control delimiters and their hierarchies
Lisp and Symbolic Computation
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Lazy task creation: a technique for increasing the granularity of parallel programs
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
PPOPP '90 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming
A dynamic extent control operator for partial continuations
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
New ideas in parallel Lisp: language design, implementations, and programming tools
Proceedings of the US/Japan workshop on Parallel Lisp on Parallel Lisp: languages and systems
A parallel Lisp language PaiLisp and its kernel specification
Proceedings of the US/Japan workshop on Parallel Lisp on Parallel Lisp: languages and systems
Speculative computation in Multilisp
Proceedings of the US/Japan workshop on Parallel Lisp on Parallel Lisp: languages and systems
Programming perl
Lambda: the ultimate combinator
Artificial intelligence and mathematical theory of computation
The revised report on the syntactic theories of sequential control and state
Theoretical Computer Science
Back to direct style II: first-class continuations
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
An efficient and general implementation of futures on large scale shared-memory multiprocessors
An efficient and general implementation of futures on large scale shared-memory multiprocessors
Reasoning about programs in continuation-passing style
Lisp and Symbolic Computation - Special issue on continuations—part I
Isolating side effects in sequential languages
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The semantics of future and its use in program optimization
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A generalization of exceptions and control in ML-like languages
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
The semantics of Scheme with future
Proceedings of the first ACM SIGPLAN international conference on Functional programming
A natural semantics for Eiffel dynamic binding
ACM Transactions on Programming Languages and Systems (TOPLAS)
Lisp in small pieces
The formal relationship between direct and continuation-passing style optimizing compilers: a synthesis of two paradigms
A lambda-calculus for dynamic binding
Theoretical Computer Science - Special issue: theoretical aspects of coordination languages
Communications of the ACM
Recursive functions of symbolic expressions and their computation by machine, Part I
Communications of the ACM
The Denotational Description of Programming Languages: An Introduction
The Denotational Description of Programming Languages: An Introduction
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Anatomy of LISP
The Java Language Specification
The Java Language Specification
The Definition of Standard ML
On the Expressive Power of Programming Languages
ESOP '90 Proceedings of the 3rd European Symposium on Programming
Partial Continuations as the Difference of Continuations - A Duumvirate of Control Operators
PLILP '94 Proceedings of the 6th International Symposium on Programming Language Implementation and Logic Programming
A Syntactic Theory of Dynamic Binding
TAPSOFT '97 Proceedings of the 7th International Joint Conference CAAP/FASE on Theory and Practice of Software Development
Design of a Concurrent and Distributed Language
Proceedings of the US/Japan Workshop on Parallel Symbolic Computing: Languages, Systems, and Applications
Recursion is more efficient than iteration
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
The Function of FUNCTION in LISP, or Why the FUNARG Problem Should be Called the Environment Problem
The Function of FUNCTION in LISP, or Why the FUNARG Problem Should be Called the Environment Problem
MIT Scheme Reference Manual
Rabbit: A Compiler for Scheme
Towards a semantic theory of dynamic binding.
Towards a semantic theory of dynamic binding.
Common Lisp: The Language
The TeXbook
History of programming languages I
The influence of browsers on evaluators or, continuations to program web servers
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Down with Emacs Lisp: dynamic scope analysis
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
ESOP '01 Proceedings of the 10th European Symposium on Programming Languages and Systems
Dynamic rebinding for marshalling and update, with destruct-time ?
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
A type-theoretic foundation of continuations and prompts
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
A syntactic correspondence between context-sensitive calculi and abstract machines
Theoretical Computer Science
Experience report: scheme in commercial web application development
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
A calculus of open modules: call-by-need strategy and confluence
Mathematical Structures in Computer Science
Dynamic rebinding for marshalling and update, via redex-time and destruct-time reduction
Journal of Functional Programming
Shifting the stage: staging with delimited control
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
How should context-escaping closures proceed?
International Workshop on Context-Oriented Programming
A semantics for context-oriented programming with layers
International Workshop on Context-Oriented Programming
Beyond static and dynamic scope
DLS '09 Proceedings of the 5th symposium on Dynamic languages
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type-theoretic foundation of delimited continuations
Higher-Order and Symbolic Computation
Shifting the stage: Staging with delimited control
Journal of Functional Programming
On correctness of dynamic protocol update
FMOODS'05 Proceedings of the 7th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
A class-based object calculus of dynamic binding: reduction and properties
SC'06 Proceedings of the 5th international conference on Software Composition
A systematic approach to delimited control with multiple prompts
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Hi-index | 0.00 |
Dynamic binding, which traditionally has always been associated withLisp, is still semantically obscure to many. Even though most programminglanguages favour lexical scope, not only does dynamic binding remain aninteresting and expressive programming technique in specialised circumstances,but also it is a key notion in formal semantics. This article presents asyntactic theory that enables the programmer to perform equational reasoning onprograms using dynamic binding. The theory is proved to be sound and completewith respect to derivations allowed on programs in “dynamic-environmentpassing style”. From this theory, we derive a sequential evaluation functionin a context-rewriting system. Then, we further refine the evaluation functionin two popular implementation strategies: deep binding and shallow binding withvalue cells. Afterwards, following the saying that deep binding is suitablefor parallel evaluation, we present the parallel evaluation function of afuture-based functional language extended with constructs for dynamic binding.Finally, we exhibit the power and usefulness of dynamic binding in twodifferent ways. First, we prove that dynamic binding adds expressiveness to apurely functional language. Second, we show that dynamic binding is anessential notion in semantics that can be used to define exceptions.