# Hidden IO

> Performing input/output inside a supposedly pure function, hiding side effects from callers.

Record: `lexicon:hidden-io`
Kind: anti-pattern
Layer: [Computation Core](https://banes-lab.com/records/layer/computation-core.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-hidden-io

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Hidden Behavior](https://banes-lab.com/records/lexicon/hidden-behavior.md) and before [Hidden Time/Randomness/Global State](https://banes-lab.com/records/lexicon/hidden-time-randomness-global-state.md).

## Category

- [Correctness / Determinism / Verification](https://banes-lab.com/records/lexicon-category/correctness-determinism-verification.md)

## Negated by

- [Pure Functions](https://banes-lab.com/records/architecture/pure-functions.md)

## Linked from

- [Correctness / Determinism / Verification](https://banes-lab.com/ontology/principles/architecture-category-correctness-determinism-verification.md)
