expressionexpressions
Expressionexpressions is a term used in discussions of programming languages and metaprogramming to describe expressions whose purpose is to produce or manipulate other expressions rather than directly evaluating to values. Although not part of formal language theory, the term appears in discussions of macro systems, staged computation, and code-as-data approaches.
Definition and scope: An expressionexpressions is an expression that, when evaluated, yields another expression or a
Purpose and usage: Expressionexpressions support metaprogramming by allowing languages to treat code as data and to
Examples and related ideas: In Lisp, macros operate on s-expressions, effectively building expressionexpressions that expand into
See also: Macro (computer science); Metaprogramming; Code as data; Homoiconicity; Staged computation.