Pure Checks
Reusable predicate layer with the Check module.
FsFlow provides a unified stack for handling failure, ranging from pure predicate checks to complex, path-aware diagnostics graphs.
The core philosophy is to check once, lift later. You write your pure logic using simple tools and then lift them into richer execution contexts (like Flow or Flow) only when needed.
Check module.result {}) or accumulates multiple errors (validate {}).result {} and validate {} make complex logic readable and idiomatic.If you are new to FsFlow, start with Pure Checks to see how the smallest building blocks work.
For a complete, runnable example that demonstrates how these pieces fit together—from nested validation to JSON API error formatting—see the Diagnostics Example.
Reusable predicate layer with the Check module.
Fail-fast composition with the result { } builder.
Bridging pure checks and effectful sources into Flow.
Accumulating validation with the validate { } builder.
Deep dive into the structured error reporting system.