Typed asynchronous workflows for F#

Dependencies in the type. Supplied at the edge.

One workflow model from dependencies to runtime
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.

Run your first workflow

Axial is pre-1.0. Its API can change before the first stable release.