Shallow Binding in LISP 1.5

Key Words and Phrases: LISP 1.5, environment structures, FUNARGs, shallow and deep binding, multiprogramming, cache. CR Categories: 4.13, 4.22, 4.32 This report describes research done at the Artificial Intelligence Laboratory of the Massachusetts Institute of Technology. Support for the laborator...

Full description

Bibliographic Details
Main Author: Baker, Henry G. Jr.
Format: Working Paper
Language:en_US
Published: MIT Artificial Intelligence Laboratory 2008
Subjects:
Online Access:http://hdl.handle.net/1721.1/41975
_version_ 1826199391992545280
author Baker, Henry G. Jr.
author_facet Baker, Henry G. Jr.
author_sort Baker, Henry G. Jr.
collection MIT
description Key Words and Phrases: LISP 1.5, environment structures, FUNARGs, shallow and deep binding, multiprogramming, cache. CR Categories: 4.13, 4.22, 4.32 This report describes research done at the Artificial Intelligence Laboratory of the Massachusetts Institute of Technology. Support for the laboratory's artificial intelligence research is provided in part by the Advanced Research Projects Agency of the Department of Defense under Office of Naval Research contract N00014-75-C-0522.
first_indexed 2024-09-23T11:19:31Z
format Working Paper
id mit-1721.1/41975
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T11:19:31Z
publishDate 2008
publisher MIT Artificial Intelligence Laboratory
record_format dspace
spelling mit-1721.1/419752019-04-12T07:43:57Z Shallow Binding in LISP 1.5 Baker, Henry G. Jr. cache multiprogramming shallow and deep binding FUNARGs environment structures LISP 1.5 Key Words and Phrases: LISP 1.5, environment structures, FUNARGs, shallow and deep binding, multiprogramming, cache. CR Categories: 4.13, 4.22, 4.32 This report describes research done at the Artificial Intelligence Laboratory of the Massachusetts Institute of Technology. Support for the laboratory's artificial intelligence research is provided in part by the Advanced Research Projects Agency of the Department of Defense under Office of Naval Research contract N00014-75-C-0522. Shallow binding is a scheme which allows the value of a variable to be accessed in a bounded amount of computation. An elegant model for shallow binding in LISP 1.5 is presented in which context-switching is an environment structure transformation called "re-rooting". Re-rooting is completely general and reversible, and is optional in the sense that a LISP 1.5 interpreter will operate correctly whether or not re-rooting is invoked on every context change. Since re-rooting leaves (ASSOC X A) invariant, for all variables X and all environments A, the programmer can have access to a re-rooting primitive, (SHALLOW), which gives him dynamic control over whether accesses are shallow or deep, and which effects only the speed of execution of a program, not its semantics. So long as re-rooting is an indivisible operation, multiple processes can be active in the same environment structure. The re-rooting scheme is compared to a cache scheme for shallow binding and the two are found to be compatible. Finally, the concept of re-rooting is shown not to depend upon LISP's choice of dynamic instead of lexical binding for free variables; hence it can be used in an Algol interpreter, for example. MIT Artificial Intelligence Laboratory Department of Defense Advanced Research Projects Agency 2008-08-26T15:12:27Z 2008-08-26T15:12:27Z 1977-01 Working Paper http://hdl.handle.net/1721.1/41975 en_US MIT Artificial Intelligence Laboratory Working Papers, WP-138; application/pdf MIT Artificial Intelligence Laboratory
spellingShingle cache
multiprogramming
shallow and deep binding
FUNARGs
environment structures
LISP 1.5
Baker, Henry G. Jr.
Shallow Binding in LISP 1.5
title Shallow Binding in LISP 1.5
title_full Shallow Binding in LISP 1.5
title_fullStr Shallow Binding in LISP 1.5
title_full_unstemmed Shallow Binding in LISP 1.5
title_short Shallow Binding in LISP 1.5
title_sort shallow binding in lisp 1 5
topic cache
multiprogramming
shallow and deep binding
FUNARGs
environment structures
LISP 1.5
url http://hdl.handle.net/1721.1/41975
work_keys_str_mv AT bakerhenrygjr shallowbindinginlisp15