Implicit output
An implicit output is an observable effect of a computation, such as changing external state or raising an exception, not represented by its return value.
Grokking Simplicity
An effect of a function that changes external state or performs an observable operation rather than returning the result directly.
- How it is used
- Uses implicit outputs to identify hidden coupling in actions and guide refactoring toward explicit return values.
- How deep it goes
- Explains definitions, testing consequences, copy-on-write extraction, and asynchronous callbacks, but does not develop implementation details beyond JavaScript examples.
- Examples
- Uses shopping-cart mutation, cart-total calculation, DOM updates, shipping icons, and asynchronous cost and shipping calculations.
- What you can do after
- Diagnose/debug with it by locating hidden outputs, then replace them with return values or callbacks to improve testing and reuse.
Unit Testing Principles, Practices, and Patterns
A hidden output is an effect of a computation, such as a side effect or exception, that is not represented by its return value.
- How it is used
- Explains why side effects complicate functional reasoning and testing.
- How deep it goes
- Defines hidden outputs, identifies them through referential transparency, and contrasts them with explicit method outputs.
- Examples
- Uses Increment, AddComment, CalculateDiscount, side effects, and exceptions as concrete comparisons.
- What you can do after
- Diagnose hidden behavior by comparing a method call with its return value and inspecting state changes or exceptions.
Read how Unit Testing Principles, Practices, and Patterns explains implicit output →
Related concepts
- return valuealternative to · A return value is the result produced by a function, method, or operation and supplied to the code that invoked it.
- DOM updateincludes · A modification to the Document Object Model that changes a document's represented content, structure, or presentation.
- global variableused by · A global variable is a variable whose binding is accessible from broad program or module scope according to the language’s name-resolution rules.
- mathematical calculationcontrasts with · A mathematical calculation is an operation or expression that derives a result from one or more input values.
- actionused by · An action is a choice or operation selected or performed by an actor that can affect a system or environment or produce an outcome.
- generationkind of · Generation is the computational production of outputs from supplied inputs or context, often by applying a model to produce predictions or new content.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.

