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.

Requires

Reinforces

Enables

Conflicts with

In tension with

Tensions

Violated by

Refactored by

Severity

Category

Linked from