Reification without Evaluation

Constructing self-referential systems, such as Brian Smith's 3-Lisp language, is actually more straightforward than you think. Anyone can build an infinite tower of processors (where each processor implements the processor at the next level below) by employing some common sense and one s...

Full description

Bibliographic Details
Main Author: Bawden, Alan
Language:en_US
Published: 2004
Online Access:http://hdl.handle.net/1721.1/6461
_version_ 1826188012464111616
author Bawden, Alan
author_facet Bawden, Alan
author_sort Bawden, Alan
collection MIT
description Constructing self-referential systems, such as Brian Smith's 3-Lisp language, is actually more straightforward than you think. Anyone can build an infinite tower of processors (where each processor implements the processor at the next level below) by employing some common sense and one simple trick. In particular, it is not necessary to re-design quotation, take a stand on the relative merits of evaluation vs. normalization, or treat continuations as meta-level objects. This paper presents a simple programming language interpreter that illustrates how this can be done. By keeping its expression evaluator entirely separate from the mechanisms that implement its infinite tower, this interpreter avoids many troublesome aspects of previous self-referential programming languages. Given these basically straightforward techniques, processor towers might be easily constructed for a wide variety of systems to enable them to manipulate and reason about themselves.
first_indexed 2024-09-23T07:53:15Z
id mit-1721.1/6461
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T07:53:15Z
publishDate 2004
record_format dspace
spelling mit-1721.1/64612019-04-09T15:18:44Z Reification without Evaluation Bawden, Alan Constructing self-referential systems, such as Brian Smith's 3-Lisp language, is actually more straightforward than you think. Anyone can build an infinite tower of processors (where each processor implements the processor at the next level below) by employing some common sense and one simple trick. In particular, it is not necessary to re-design quotation, take a stand on the relative merits of evaluation vs. normalization, or treat continuations as meta-level objects. This paper presents a simple programming language interpreter that illustrates how this can be done. By keeping its expression evaluator entirely separate from the mechanisms that implement its infinite tower, this interpreter avoids many troublesome aspects of previous self-referential programming languages. Given these basically straightforward techniques, processor towers might be easily constructed for a wide variety of systems to enable them to manipulate and reason about themselves. 2004-10-04T14:57:10Z 2004-10-04T14:57:10Z 1988-06-01 AIM-946 http://hdl.handle.net/1721.1/6461 en_US AIM-946 1625825 bytes 1279151 bytes application/postscript application/pdf application/postscript application/pdf
spellingShingle Bawden, Alan
Reification without Evaluation
title Reification without Evaluation
title_full Reification without Evaluation
title_fullStr Reification without Evaluation
title_full_unstemmed Reification without Evaluation
title_short Reification without Evaluation
title_sort reification without evaluation
url http://hdl.handle.net/1721.1/6461
work_keys_str_mv AT bawdenalan reificationwithoutevaluation