Homoiconicity

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Ladislav Mecir (talk | contribs) at 13:07, 27 August 2006 (added REBOL programming language link). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computer programming, homoiconicity is a property of some programming languages, in which the primary representation of programs is also a data structure in a primitive type of the language itself.

Languages which are considered to be homoiconic include most members of the Lisp family, Prolog, REBOL, SNOBOL, XSLT, TRAC, Tcl and Io.

One advantage of homoiconicity is that extending the language with new concepts typically becomes simpler, as data representing code can be passed between the meta and base layer of the program. A typical demonstration of homoiconicity is the metacircular interpreter.

External links