# Pure Core / Imperative Shell

> An arrangement that keeps decision logic pure and pushes all side effects to a thin outer shell.

Record: `lexicon:pure-core-imperative-shell`
Kind: pattern
Layer: [Atomic Boundary](https://banes-lab.com/records/layer/atomic-boundary.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-pure-core-imperative-shell

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Performance Optimization](https://banes-lab.com/records/lexicon/performance-optimization.md) and before [Ad-Hoc Lock Ordering](https://banes-lab.com/records/lexicon/ad-hoc-lock-ordering.md).

## Category

- [Transactions / State / Concurrency](https://banes-lab.com/records/lexicon-category/transactions-state-concurrency.md)

## Enabled by

- [Controlled Side Effects](https://banes-lab.com/records/architecture/controlled-side-effects.md)

## Linked from

- [Transactions / State / Concurrency](https://banes-lab.com/ontology/principles/architecture-category-transactions-state-concurrency.md)
