A symbolic expression (also called s-expression) is a notation of a list-based tree. Inner nodes are lists of arbitrary length, outer nodes are primitive values (also called atoms) or the empty list.

A symbolic expression is either

An atom is a number, a string, or a symbol.

Symbolic expressions are used in programming languages like LISP or Scheme, where they denote both data structures and the program itself. This allows a LISP or Scheme program to process LISP or Scheme programs. That property is also used within Zettelstore.

Symbolic expressions are relatively easy to read, to parse, and to process.

See also