A Syntactic Theory of Dynamic Binding
A Syntactic Theory of Dynamic Binding
Dynamic binding, which has always been associated with Lisp, is still semantically obscure to many. Although largely replaced by lexical scoping, not only does dynamic binding remain an interesting and expressive programming technique in specialised circumstances, but also it is a key notion in semantics. This paper presents a syntactic theory that enables the programmer to perform equational reasoning on programs using dynamic binding. The theory is proved to be sound and complete with respect to derivations allowed on programs in "dynamic-environment passing style". From this theory, we derive a sequential evaluation function in a context-rewriting system. Then, we exhibit the power and usefulness of dynamic binding in two different ways. First, we prove that dynamic binding adds expressiveness to a purely functional language. Second, we show that dynamic binding is an essential notion in semantics that can be used to define the semantics of exceptions. Afterwards, we further refine the evaluation function into the popular implementation strategy called deep binding. Finally, following the saying that deep binding is suitable for parallel evaluation, we present the parallel evaluation function of a future-based functional language extended with constructs for dynamic binding.
727-741
Moreau, Luc
033c63dd-3fe9-4040-849f-dfccbe0406f8
1997
Moreau, Luc
033c63dd-3fe9-4040-849f-dfccbe0406f8
Moreau, Luc
(1997)
A Syntactic Theory of Dynamic Binding.
International Joint Conference on Theory and Practice of Software Development (TAPSOFT/FASE'97).
.
(doi:10.1007/BFb0030637).
Record type:
Conference or Workshop Item
(Paper)
Abstract
Dynamic binding, which has always been associated with Lisp, is still semantically obscure to many. Although largely replaced by lexical scoping, not only does dynamic binding remain an interesting and expressive programming technique in specialised circumstances, but also it is a key notion in semantics. This paper presents a syntactic theory that enables the programmer to perform equational reasoning on programs using dynamic binding. The theory is proved to be sound and complete with respect to derivations allowed on programs in "dynamic-environment passing style". From this theory, we derive a sequential evaluation function in a context-rewriting system. Then, we exhibit the power and usefulness of dynamic binding in two different ways. First, we prove that dynamic binding adds expressiveness to a purely functional language. Second, we show that dynamic binding is an essential notion in semantics that can be used to define the semantics of exceptions. Afterwards, we further refine the evaluation function into the popular implementation strategy called deep binding. Finally, following the saying that deep binding is suitable for parallel evaluation, we present the parallel evaluation function of a future-based functional language extended with constructs for dynamic binding.
Text
tapsoft97
- Accepted Manuscript
More information
Published date: 1997
Additional Information:
Address: Lille, France
Venue - Dates:
International Joint Conference on Theory and Practice of Software Development (TAPSOFT/FASE'97), 1997-01-01
Organisations:
Web & Internet Science
Identifiers
Local EPrints ID: 252770
URI: http://eprints.soton.ac.uk/id/eprint/252770
PURE UUID: e163d47b-2ba1-4688-91f5-5d8ee201eb8a
Catalogue record
Date deposited: 20 Mar 2000
Last modified: 14 Mar 2024 05:23
Export record
Altmetrics
Contributors
Author:
Luc Moreau
Download statistics
Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.
View more statistics