Mathics Core Interpreter Overview

At its heart, the Mathics interpreter works over S-expressions: combinations of nested and/or sequenced lists, pretty much the same as simple Lisp interpreters work. See also Everything is an Expression.

When you enter a string to Mathics there is a 3-step process:

  • the string is parsed to FullForm

  • The full form S-expression is interpreted

  • The result, also an S-expression, is formatted to the kind of output desired.

This is mentioned from the user perspective in the Figure “Steps in the operation of Wolfram Language”

However each of the above steps can be involved, so we break these down below.