What is IcedTasks?
IcedTasks provides F# computation expression builders for task-shaped async code:
taskandbackgroundTaskvalueTask,vTask, and pooling ValueTask variantscoldTaskcancellableTask,cancellableValueTask, and cancellable pooling variantsasyncExparallelAsync
The library is for codebases that need more async shapes than FSharp.Core's built-in task expression provides, especially when cancellation, ValueTask, cold execution, applicative and!, or richer .NET async interop are part of the API design.
Install
|
Then open the namespace you need:
open IcedTasks
Start here
If you are deciding which computation expression to use, start with Choosing a builder.
If you are new to the library, start with Build a cancellable pipeline.
If you need API signatures, generated reference documentation is available under API Reference.
Common tasks
- Use the cancellable task family for request cancellation
- Use
and!with independent operations - Convert between async shapes
- Use AsyncEx for .NET async interop
- Compose task values with helper functions
- Use background builders to avoid caller context
- Use unit builders for non-generic task APIs
Learn the concepts
- Understanding
and! - Pooling builders
- Polyfill namespaces and shadowing
- Why IcedTasks uses
Sourceand specialized binds
Framework examples
- Use CancellableTask in a console app
- Use CancellableTask in ASP.NET Minimal API
- Use CancellableTask in Giraffe
- Use CancellableTask in Falco
IcedTasks