Shallow Binding in Lisp 1.5.
Saved in:
| Title: | Shallow Binding in Lisp 1.5. |
|---|---|
| Authors: | Baker, Jr., Henry G.1, Horning, J. J. |
| Source: | Communications of the ACM. Jul1978, Vol. 21 Issue 7, p565-569. 5p. 5 Charts. |
| Subjects: | LISP (Computer program language), Mathematical variables, Artificial intelligence, List processing (Electronic computers), Semantics, Mathematics |
| Abstract: | 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 tree transformation called rerooting. Rerooting is completely general and reversible, and is optional in the sense that a Lisp 1.5 interpreter will operate correctly whether or not rerooting is invoked on every context change. Since rerooting leaves assoc [ v, a] invariant, for all variables v and all environments a, the programmer can have access to a rerooting primitive, shallow[], which gives him dynamic control over whether accesses are shallow or deep, and which affects only the speed of execution of a program, not its semantics. In addition, multiple processes can be active in the same environment structure, so long as rerouting is an indivisible operation. Finally, the concept of rerooting is shown to combine the concept of shallow binding in Lisp with Dijkstra's display for Algol and hence is a general model for shallow binding. [ABSTRACT FROM AUTHOR] |
| Copyright of Communications of the ACM is the property of Association for Computing Machinery and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.) | |
| Database: | Engineering Source |
| FullText | Links: – Type: pdflink Text: Availability: 0 |
|---|---|
| Header | DbId: egs DbLabel: Engineering Source An: 5236450 AccessLevel: 6 PubType: Periodical PubTypeId: serialPeriodical PreciseRelevancyScore: 0 |
| IllustrationInfo | |
| Items | – Name: Title Label: Title Group: Ti Data: Shallow Binding in Lisp 1.5. – Name: Author Label: Authors Group: Au Data: <searchLink fieldCode="AR" term="%22Baker%2C+Jr%2E%2C+Henry+G%2E%22">Baker, Jr., Henry G.</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22Horning%2C+J%2E+J%2E%22">Horning, J. J.</searchLink> – Name: TitleSource Label: Source Group: Src Data: <searchLink fieldCode="JN" term="%22Communications+of+the+ACM%22">Communications of the ACM</searchLink>. Jul1978, Vol. 21 Issue 7, p565-569. 5p. 5 Charts. – Name: Subject Label: Subjects Group: Su Data: <searchLink fieldCode="DE" term="%22LISP+%28Computer+program+language%29%22">LISP (Computer program language)</searchLink><br /><searchLink fieldCode="DE" term="%22Mathematical+variables%22">Mathematical variables</searchLink><br /><searchLink fieldCode="DE" term="%22Artificial+intelligence%22">Artificial intelligence</searchLink><br /><searchLink fieldCode="DE" term="%22List+processing+%28Electronic+computers%29%22">List processing (Electronic computers)</searchLink><br /><searchLink fieldCode="DE" term="%22Semantics%22">Semantics</searchLink><br /><searchLink fieldCode="DE" term="%22Mathematics%22">Mathematics</searchLink> – Name: Abstract Label: Abstract Group: Ab Data: 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 tree transformation called rerooting. Rerooting is completely general and reversible, and is optional in the sense that a Lisp 1.5 interpreter will operate correctly whether or not rerooting is invoked on every context change. Since rerooting leaves assoc [ v, a] invariant, for all variables v and all environments a, the programmer can have access to a rerooting primitive, shallow[], which gives him dynamic control over whether accesses are shallow or deep, and which affects only the speed of execution of a program, not its semantics. In addition, multiple processes can be active in the same environment structure, so long as rerouting is an indivisible operation. Finally, the concept of rerooting is shown to combine the concept of shallow binding in Lisp with Dijkstra's display for Algol and hence is a general model for shallow binding. [ABSTRACT FROM AUTHOR] – Name: AbstractSuppliedCopyright Label: Group: Ab Data: <i>Copyright of Communications of the ACM is the property of Association for Computing Machinery and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.) |
| PLink | https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=5236450 |
| RecordInfo | BibRecord: BibEntity: Identifiers: – Type: doi Value: 10.1145/359545.359566 Languages: – Code: eng Text: English PhysicalDescription: Pagination: PageCount: 5 StartPage: 565 Subjects: – SubjectFull: LISP (Computer program language) Type: general – SubjectFull: Mathematical variables Type: general – SubjectFull: Artificial intelligence Type: general – SubjectFull: List processing (Electronic computers) Type: general – SubjectFull: Semantics Type: general – SubjectFull: Mathematics Type: general Titles: – TitleFull: Shallow Binding in Lisp 1.5. Type: main BibRelationships: HasContributorRelationships: – PersonEntity: Name: NameFull: Baker, Jr., Henry G. – PersonEntity: Name: NameFull: Horning, J. J. IsPartOfRelationships: – BibEntity: Dates: – D: 01 M: 07 Text: Jul1978 Type: published Y: 1978 Identifiers: – Type: issn-print Value: 00010782 Numbering: – Type: volume Value: 21 – Type: issue Value: 7 Titles: – TitleFull: Communications of the ACM Type: main |
| ResultId | 1 |