# Declarative Core

> The rules favoring declarative over imperative — declared configuration, separated concerns, no imperative wiring.

Record: `algorithms:declarative-core`
Kind: algorithm
Layer: [Declarative Core](https://banes-lab.com/records/layer/declarative-core.md)
Canonical: https://banes-lab.com/ontology/algorithms#algorithms-declarative-core
Closure: https://banes-lab.com/json/records/algorithms/declarative-core/closure

Listed in [Algorithm contracts](https://banes-lab.com/api/records/algorithms.md), after [Causality Core](https://banes-lab.com/records/algorithms/causality-core.md) and before [Extensibility Core](https://banes-lab.com/records/algorithms/extensibility-core.md).

## Domain

- [Architectural Clusters](https://banes-lab.com/records/algorithms-domain/architectural-clusters.md)

## Tier

- [exempt](https://banes-lab.com/records/vocabulary/domain-tier-exempt.md)

## Principle

- [Declarative Configuration](https://banes-lab.com/records/architecture/declarative-configuration.md)

## Composed by

- [Homoiconicity Over Separation](https://banes-lab.com/records/algorithms/no-separation.md)
- [Declarative Config Over Imperative](https://banes-lab.com/records/algorithms/no-imperative-config.md)

## Contract of

- [Declarative Core](https://banes-lab.com/records/layer/declarative-core.md)

## Linked from

- [Metadata / Self-Description / Declarative Systems](https://banes-lab.com/ontology/principles/architecture-category-metadata-self-description-declarative-systems.md)
- [Architectural Rules](https://banes-lab.com/ontology/algorithms/algorithms-domain-architectural-rules.md)
- [Domain tiers](https://banes-lab.com/ontology/schema/the-vocabulary-domain-tier.md)
- [The layer topology](https://banes-lab.com/ontology/schema/the-layer-topology.md)
