Orleans.FSharp
1.0.0
See the version list below for details.
dotnet add package Orleans.FSharp --version 1.0.0
NuGet\Install-Package Orleans.FSharp -Version 1.0.0
<PackageReference Include="Orleans.FSharp" Version="1.0.0" />
<PackageVersion Include="Orleans.FSharp" Version="1.0.0" />
<PackageReference Include="Orleans.FSharp" />
paket add Orleans.FSharp --version 1.0.0
#r "nuget: Orleans.FSharp, 1.0.0"
#:package Orleans.FSharp@1.0.0
#addin nuget:?package=Orleans.FSharp&version=1.0.0
#tool nuget:?package=Orleans.FSharp&version=1.0.0
Orleans.FSharp
Idiomatic F# computation expressions and helpers for Microsoft Orleans grain development.
What it does
Orleans.FSharp replaces verbose C#-style grain implementations with a declarative grain {} computation expression. Define state, message handlers, persistence, timers, reminders, streaming, and placement strategy in a single expression.
Modules included
GrainState | GrainRef | Streaming | BroadcastChannel | Logging | Reminders | Timers | Observers | Filters | RequestCtx | Transactions | Versioning | Telemetry | Shutdown | StateMigration | Serialization | FSharpSerialization | Scripting | Kubernetes | GrainDirectory | GrainServices | GrainExtensions | Immutable | StreamProviders
Quick example
open Orleans.FSharp
type CounterMsg = Increment | GetCount
let counterGrain = grain {
defaultState 0
handle (fun state msg -> task {
match msg with
| Increment -> return state + 1, box ()
| GetCount -> return state, box state
})
persist "Default"
}
Related packages
| Package | Purpose |
|---|---|
Orleans.FSharp.Runtime |
Silo and client hosting via siloConfig {} CE |
Orleans.FSharp.CodeGen |
C# bridge for Orleans Roslyn source generators |
Orleans.FSharp.Testing |
Test harness, mocks, and FsCheck integration |
Orleans.FSharp.EventSourcing |
Event-sourced grains via eventSourcedGrain {} CE |
Orleans.FSharp.Analyzers |
F# analyzer detecting async {} usage |
Documentation
Full docs and examples: https://github.com/Neftedollar/orleans-fsharp
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- FSharp.Control.TaskSeq (>= 0.6.0)
- FSharp.Core (>= 10.1.201)
- FSharp.SystemTextJson (>= 1.4.36)
- FsToolkit.ErrorHandling (>= 5.2.0)
- IcedTasks (>= 0.11.9)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.5)
- Microsoft.Orleans.BroadcastChannel (>= 10.0.1)
- Microsoft.Orleans.Core.Abstractions (>= 10.0.1)
- Microsoft.Orleans.Reminders (>= 10.0.1)
- Microsoft.Orleans.Runtime (>= 10.0.1)
- Microsoft.Orleans.Server (>= 10.0.1)
- Microsoft.Orleans.Streaming (>= 10.0.1)
- Microsoft.Orleans.Transactions (>= 10.0.1)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Orleans.FSharp:
| Package | Downloads |
|---|---|
|
Orleans.FSharp.Runtime
F# computation expressions for configuring Orleans silos and clients — siloConfig {}, clientConfig {}, GrainDiscovery, and Serilog integration. |
|
|
Orleans.FSharp.EventSourcing
Declarative event sourcing for Orleans grains in F# — eventSourcedGrain {} CE with apply/handle, JournaledGrain bridge, and Marten configuration helpers. |
|
|
Orleans.FSharp.Testing
Test utilities for Orleans.FSharp grains — TestHarness, GrainMock, GrainArbitrary (TypeShape-based FsCheck), FsCheckHelpers, and LogCapture. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.0.0-alpha.1 | 67 | 4/28/2026 |
| 1.0.0 | 284 | 4/3/2026 |