biology daily - the biology and biochemistry encyclopedia
biology daily articles and research Encyclopedia Dictionary Forums biology research links Weblinks Pictures Articles Blogs Newsletter

M-expression

M-Expressions are so-called meta-expressions which were intended to be used in Lisp. M-expressions were used for the original theoretical language in early papers about Lisp, but they were never actually implemented.

S-expressions intended to represent data structures or parsed mathematical expressions look like this:

(+ 4 (- 5 3))

which is simply prefix notation for 4 + (5 - 3). However, in LISP, lists and programming constructs such as a conditional branch are also represented in this way, e.g.

(if (> a 5) dothis orelsedothis)

A representation was developed so that this could be written down in a more user friendly way, for example [1, 2, 3] for a list. These M-expressions were then to be translated to S-expressions to be executed, hence the meta designation.

A few examples of an M-expression and the equivalent S-expression follow.

[1, 2, 3]                        (quote (1 2 3))
car[X]                           (car X)
car[append[[1,2,3], [4,5,6]]]    (car (append '(1 2 3) '(4 5 6)))

However, Lisp programmers quickly adapted to use S-expressions directly for both data and program code, and M-expressions fell into disuse.



08-19-2006 15:59:36
The contents of this article are licensed from Wikipedia.org under the GNU Free Documentation License. How to see transparent copy
BiologyDaily.com 2005. Legal info