Typed asynchronous workflows for F#
Dependencies in the type. Supplied at the edge.
One workflow model from dependencies to runtime
Flow<'env, 'error, 'value>
Typed environment
Application record
Clock
HTTP
File system
Process
Your services
Flow<'env, 'error, 'value>
Supplied at the edge
Live services
Test doubles
.NET
NativeAOT
Browser
Node
A workflow names the environment it needs. The caller supplies the implementation when it runs the workflow.
✓ Typed expected failures
✓ Built-in cancellation
✓ Plain-record dependencies
Cancellation, dependencies, and expected failures stop being extra arguments the caller has to thread through. They become part of the type.
Pass a workflow a plain record and get typed failures, cancellation, resource scopes, and structured concurrency. There is no container and no registration step. Axial adds retries, streams, operational services, hosting, and telemetry over the same workflow model.
Axial is pre-1.0. Its API can change before the first stable release.