# Make Immutable

> A technique for replacing in-place mutation with new values, so state shared between readers cannot change under them.

Record: `lexicon:make-immutable`
Kind: technique
Layer: [Atomic Boundary](https://banes-lab.com/records/layer/atomic-boundary.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-make-immutable

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Transaction Isolation Level](https://banes-lab.com/records/lexicon/transaction-isolation-level.md) and before [Read From Primary After Write](https://banes-lab.com/records/lexicon/read-from-primary-after-write.md).

## Category

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

## Refactors

- [Shared Mutable State](https://banes-lab.com/records/architecture/shared-mutable-state.md)
- [Immutability](https://banes-lab.com/records/architecture/immutability.md)
- [Concurrency](https://banes-lab.com/records/architecture/concurrency.md)
- [Concurrency Control](https://banes-lab.com/records/architecture/concurrency-control.md)
- [State Isolation](https://banes-lab.com/records/architecture/state-isolation.md)

## Linked from

- [Anti-patterns](https://banes-lab.com/ontology/principles/architecture-category-anti-patterns.md)
- [Correctness / Determinism / Verification](https://banes-lab.com/ontology/principles/architecture-category-correctness-determinism-verification.md)
- [Scalability / Performance / Optimization](https://banes-lab.com/ontology/principles/architecture-category-scalability-performance-optimization.md)
- [Transactions / State / Concurrency](https://banes-lab.com/ontology/principles/architecture-category-transactions-state-concurrency.md)
