| |||||||||
M-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:
which is simply prefix notation for (5-3) + 4 However, in LISP, lists and programming constructs such as a conditional branch are also represented in this way, e.g.
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 are then translated to S-expressions to be executed, hence the meta designation.
A few examples of an M-expression and the equivalent S-expression follow.