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...
Main Author: | |
---|---|
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 |