|
|
M-expressionM-Expressions are so-called meta-expressions which were intended to be used in Lisp. 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 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. 2, 3 (quote (1 2 3)) carX (car X) carhref="/encyclopedia/1,2,3,-title="1,2,3, 1,2,3" title="4,5,6">1,2,3">4,5,6">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.
|
 |