The University of Southampton
University of Southampton Institutional Repository

A Syntactic Theory of Dynamic Binding

A Syntactic Theory of Dynamic Binding
A Syntactic Theory of Dynamic Binding
Dynamic binding, which traditionally has always been associated with Lisp, is still semantically obscure to many. Even though most programming languages favour lexical scope, not only does dynamic binding remain an interesting and expressive programming technique in specialised circumstances, but also it is a key notion in formal semantics. This article 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 further refine the evaluation function in two popular implementation strategies: deep binding and shallow binding with value cells. Afterwards, 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. Finally, 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 exceptions.
1388-3690
233-279
Moreau, Luc
033c63dd-3fe9-4040-849f-dfccbe0406f8
Moreau, Luc
033c63dd-3fe9-4040-849f-dfccbe0406f8

Moreau, Luc (1998) A Syntactic Theory of Dynamic Binding. Higher-Order and Symbolic Computation, 11 (3), 233-279. (doi:10.1023/A%3A1010087314987).

Record type: Article

Abstract

Dynamic binding, which traditionally has always been associated with Lisp, is still semantically obscure to many. Even though most programming languages favour lexical scope, not only does dynamic binding remain an interesting and expressive programming technique in specialised circumstances, but also it is a key notion in formal semantics. This article 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 further refine the evaluation function in two popular implementation strategies: deep binding and shallow binding with value cells. Afterwards, 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. Finally, 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 exceptions.

Text
dyn - Accepted Manuscript
Download (30MB)

More information

Published date: 1998
Organisations: Web & Internet Science

Identifiers

Local EPrints ID: 252759
URI: https://eprints.soton.ac.uk/id/eprint/252759
ISSN: 1388-3690
PURE UUID: 1674432b-6e2d-4149-b9b4-56827d6139bf
ORCID for Luc Moreau: ORCID iD orcid.org/0000-0002-3494-120X

Catalogue record

Date deposited: 20 Mar 2000
Last modified: 26 Nov 2019 02:00

Export record

Altmetrics

Contributors

Author: Luc Moreau ORCID iD

University divisions

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

Atom RSS 1.0 RSS 2.0

Contact ePrints Soton: eprints@soton.ac.uk

ePrints Soton supports OAI 2.0 with a base URL of https://eprints.soton.ac.uk/cgi/oai2

This repository has been built using EPrints software, developed at the University of Southampton, but available to everyone to use.

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×