Xref: utzoo comp.lang.misc:1991 comp.lang.lisp:1158 Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!bloom-beacon!apple!bionet!agate!labrea!decwrl!sun!pitstop!sundc!seismo!uunet!mcvax!ukc!etive!aiva!jeff From: jeff@aiva.ed.ac.uk (Jeff Dalton) Newsgroups: comp.lang.misc,comp.lang.lisp Subject: Re: reflexivity Keywords: reflexivity,meta-circularity Message-ID: <618@aiva.ed.ac.uk> Date: 12 Oct 88 21:06:12 GMT References: <612@crin.crin.fr> <826@etive.ed.ac.uk> Reply-To: jeff@uk.ac.ed.aiva (Jeff Dalton) Organization: Dept. of AI, Univ. of Edinburgh, UK Lines: 40 In article <826@etive.ed.ac.uk> sean@lfcs.ed.ac.uk (Sean Matthews (AI)) writes: >In article <612@crin.crin.fr> napoli@crin.crin.fr (Amedeo NAPOLI) writes: >>Does anybody have clear definition of the following terms: >>- meta-circularity >>- reflexivity, self-reflexivity >>for a language ? >>Are there good (and easy to read) references on these or related topics ? >reflection is where a programming language has access to its own interpreter, >and can modify it. [3 references follow] The following may also be of interest: Alan Bawden. Reification without Evaluation. Proceedings of the 1988 ACM Conference on Lisp and Functional Programming, p. 342ff. The abstract begins: Constructing self-referential systems ... is actually more straightforward than you think. Meta-circularity: a meta-circular interpreter for a language is just an interpreter written in that language. Textbook Lisp interpreters typically have that property. In particular, if they implement a subset of some Lisp dialect they tend to be written in that subset. So meta-circularity is just the property of being implemented by using the construct being implemented. A good reference is: J. C. Reynolds. Definitional Interpreters for Higher-order Programming Languages. Proceedings of the ACM National Conference 1972, pp 717-740. Jeff Dalton, JANET: J.Dalton@uk.ac.ed AI Applications Institute, ARPA: J.Dalton%uk.ac.ed@nss.cs.ucl.ac.uk Edinburgh University. UUCP: ...!ukc!ed.ac.uk!J.Dalton