# Static Safety

> The guarantee that whole classes of errors are caught at compile time, before code runs.

Record: `lexicon:static-safety`
Kind: quality-attribute
Layer: [Correctness Core](https://banes-lab.com/records/layer/correctness-core.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-static-safety

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Robustness](https://banes-lab.com/records/lexicon/robustness.md) and before [Substitutability](https://banes-lab.com/records/lexicon/substitutability.md).

## Category

- [Quality Attributes](https://banes-lab.com/records/lexicon-category/quality-attributes.md)

## In tension with

- [Dynamic Binding](https://banes-lab.com/records/architecture/dynamic-binding.md)
- [Runtime Code Generation](https://banes-lab.com/records/architecture/runtime-code-generation.md)
- [Dynamic Binding / Static Safety](https://banes-lab.com/records/tension/dynamic-binding-static-safety.md)
- [Runtime Code Generation / Static Safety](https://banes-lab.com/records/tension/runtime-code-generation-static-safety.md)

## Linked from

- [Runtime Discovery / Dynamic Binding](https://banes-lab.com/ontology/principles/architecture-category-runtime-discovery-dynamic-binding.md)
- [Correctness / Determinism / Verification](https://banes-lab.com/ontology/principles/architecture-category-correctness-determinism-verification.md)
- [Metaprogramming / Language-Oriented Architecture](https://banes-lab.com/ontology/principles/architecture-category-metaprogramming-language-oriented-architecture.md)
- [The resolutions](https://banes-lab.com/ontology/schema/the-resolutions.md)
