Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. F#
  3. FSharp.Control.AsyncSeq

FSharp.Control.AsyncSeq

NOASSERTIONF#2.0.24

F# library providing asynchronous sequences compatible with BCL IAsyncEnumerable for async/await workflows.

Visit WebsiteGitHubGitHub
174 stars54 forks0 contributors

What is FSharp.Control.AsyncSeq?

FSharp.Control.AsyncSeq is a library of asynchronous programming utilities for F# that provides asynchronous sequences. It enables developers to work with sequences of values produced asynchronously, which is essential for handling streaming data, I/O operations, and other asynchronous workflows in F# applications.

Target Audience

F# developers working with asynchronous data streams, such as those handling I/O operations, streaming APIs, or database queries, and developers needing interoperability with .NET's IAsyncEnumerable ecosystem.

Value Proposition

It offers seamless interoperability with .NET's standard IAsyncEnumerable type while providing idiomatic F# functional combinators, eliminating the need for conversion between F# async sequences and BCL async sequences.

Overview

Asynchronous sequences for F#

Use Cases

Best For

  • Processing asynchronous data streams in F# with functional combinators like map, filter, and fold.
  • Integrating F# asynchronous workflows with .NET APIs that use IAsyncEnumerable, such as Entity Framework Core or ASP.NET Core streaming endpoints.
  • Migrating legacy F# async sequence code to modern .NET async patterns without breaking changes.
  • Building F# applications that require efficient handling of I/O-bound or streaming data operations.
  • Developing interoperable libraries that need to work seamlessly with both F# and C# async sequence consumers.
  • Implementing reactive data processing pipelines where values are produced asynchronously over time.

Not Ideal For

  • Projects that only involve synchronous data processing without any asynchronous I/O operations
  • Teams working exclusively in C# or other languages without F# integration, as the library is optimized for F#'s functional style
  • Legacy systems targeting .NET Framework versions before .NET Core 3.0, which lack IAsyncEnumerable support

Pros & Cons

Pros

Seamless BCL Interop

AsyncSeq is a type alias for IAsyncEnumerable, enabling direct use with C# await foreach and .NET APIs without conversion, as highlighted in the v4.0 compatibility notes.

Rich Async Combinators

Provides a comprehensive set of module functions for transforming, filtering, and composing asynchronous sequences, supporting idiomatic F# functional programming.

Smooth Migration Support

Includes clear guidance for upgrading from previous versions, such as v3.x to v4.0, ensuring compatibility with modern .NET async patterns without breaking changes.

Active Maintenance

Maintained by multiple contributors with an open contribution model, as listed in the maintainers section, promoting ongoing development and support.

Cons

Breaking Changes in Updates

Version 4.0 introduced breaking changes, like obsoleting conversion helpers (e.g., AsyncSeq.ofAsyncEnum), requiring code modifications and careful migration from older versions.

.NET Version Limitations

Depends on IAsyncEnumerable, available only from .NET Core 3.0 onward, restricting use in projects on older .NET frameworks without this support.

F#-Centric Design

While interoperable, the library is tailored for F# developers, potentially offering less value in projects not leveraging F#'s functional idioms or in mixed-language environments.

Frequently Asked Questions

Quick Stats

Stars174
Forks54
Contributors0
Open Issues2
Last commit22 days ago
CreatedSince 2015

Tags

#functional-programming#async-programming#streaming-data#dotnet#concurrency#fsharp

Built With

F
F#
.
.NET

Links & Resources

Website

Included in

F#1.4k
Auto-fetched 1 day ago

Related Projects

HopacHopac

http://hopac.github.io/Hopac/Hopac.html

Stars536
Forks62
Last commit4 years ago
PlyPly

High performance System.Threading.(Value)Task computation expressions for F#

Stars246
Forks17
Last commit3 years ago
TaskBuilder.fsTaskBuilder.fs

F# computation expression builder for System.Threading.Tasks

Stars235
Forks27
Last commit5 years ago
FSharp.Control.FusionTasksFSharp.Control.FusionTasks

F# Async workflow <--> .NET Task/ValueTask easy seamless interoperability library.

Stars160
Forks13
Last commit3 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub