Code as Data
Kind: principle
Layer: Declarative Core
Record: architecture:code-as-data
Severity: contextual
Scope: language, compiler, runtime
Canonical: Ontology
A design rule that logic to be generated or transformed is held as a typed data structure, such as a syntax tree, that tools can inspect and rewrite.
Listed in Architecture principles, after Homoiconicity and before Metaprogramming.