S-expressions intended to represent data structures or parsed mathematical expressions look like this:
(+ 4 (- 5 3))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.
(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 are then translated to S-expressions to be executed, hence the meta designation.