(BLOCK (PARA (TEXT "A symbolic expression (also called ") (FORMAT-EMPH () (TEXT "s-expression")) (TEXT ") is a notation of a list-based tree.") (SOFT) (TEXT "Inner nodes are lists of arbitrary length, outer nodes are primitive values (also called ") (FORMAT-EMPH () (TEXT "atoms")) (TEXT ") or the empty list.")) (PARA (TEXT "A symbolic expression is either")) (UNORDERED (INLINE (TEXT "a primitive value (") (FORMAT-EMPH () (TEXT "atom")) (TEXT "), or")) (INLINE (TEXT "a list of the form ") (FORMAT-EMPH () (TEXT "(E") (FORMAT-SUB () (TEXT "1")) (TEXT " E") (FORMAT-SUB () (TEXT "2")) (TEXT " … E") (FORMAT-SUB () (TEXT "n")) (TEXT ")")) (TEXT ", where ") (FORMAT-EMPH () (TEXT "E") (FORMAT-SUB () (TEXT "i"))) (TEXT " is itself a symbolic expression, separated by space characters."))) (PARA (TEXT "An atom is a number, a string, or a symbol.")) (PARA (TEXT "Symbolic expressions are used in programming languages like LISP or Scheme, where they denote both data structures and the program itself.") (SOFT) (TEXT "This allows a LISP or Scheme program to process LISP or Scheme programs.") (SOFT) (TEXT "That property is also used within Zettelstore.")) (PARA (TEXT "Symbolic expressions are relatively easy to read, to parse, and to process.")) (HEADING 1 () "see-also" "see-also" (TEXT "See also")) (UNORDERED (INLINE (LINK-ZETTEL () "00001012930500" (TEXT "Syntax")) (TEXT " of symbolic expressions in the Zettelstore")) (INLINE (LINK-EXTERNAL () "https://en.wikipedia.org/wiki/S-expression" (TEXT "S-expression @ Wikipedia")))))