Akkling 0.16.2
dotnet add package Akkling --version 0.16.2
NuGet\Install-Package Akkling -Version 0.16.2
<PackageReference Include="Akkling" Version="0.16.2" />
paket add Akkling --version 0.16.2
#r "nuget: Akkling, 0.16.2"
// Install Akkling as a Cake Addin #addin nuget:?package=Akkling&version=0.16.2 // Install Akkling as a Cake Tool #tool nuget:?package=Akkling&version=0.16.2
Akkling
This is the experimental fork of Akka.FSharp library, introducing new features such as typed actor refs, and also simplifying existing Akka.FSharp API. The main reason for splitting from official API is to be able to introduce new (also experimental), but possibly breaking changes outside existing Akka release cycle.
Read wiki pages for more info.
Get's started
For more examples check examples section.
Obligatory hello world example:
open Akkling
use system = System.create "my-system" <| Configuration.defaultConfig()
let aref = spawnAnonymous system <| props(actorOf (fun m -> printfn "%s" m |> ignored))
aref <! "hello world"
aref <! 1 // ERROR: we have statically typed actors here
Another example using stateful actors:
open Akkling
use system = System.create "my-system" <| Configuration.defaultConfig()
type Message =
| Hi
| Greet of string
let rec greeter lastKnown = function
| Hi -> printfn "Who sent Hi? %s?" lastKnown |> ignored
| Greet(who) ->
printfn "%s sends greetings" who
become (greeter who)
let aref = spawn system "greeter" <| props(actorOf (greeter "Unknown"))
aref <! Greet "Tom"
aref <! Greet "Jane"
aref <! Hi
Maintainer(s)
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Akka (>= 1.5.27.1)
- Akka.Serialization.Hyperion (>= 1.5.27.1)
- FSharp.Core (>= 8.0.400)
-
net6.0
- Akka (>= 1.5.27.1)
- Akka.Serialization.Hyperion (>= 1.5.27.1)
- FSharp.Core (>= 8.0.400)
NuGet packages (7)
Showing the top 5 NuGet packages that depend on Akkling:
Package | Downloads |
---|---|
Akkling.Streams
F# wrapper library for Akka.NET with reactive streams support |
|
Akkling.Persistence
F# wrapper library for Akka.NET with persistence support |
|
Akkling.TestKit
F# wrapper library for Akka.NET TestKit library using FsCheck and xUnit. |
|
Akkling.Cluster.Sharding
F# wrapper library for Akka.NET cluster sharding module. |
|
Akkling.DistributedData
F# wrapper library for Akka.NET with geo-replicated distributed data support (CRDT) |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.16.2 | 4,239 | 8/22/2024 |
0.16.1 | 651 | 8/14/2024 |
0.16.0 | 378 | 8/14/2024 |
0.15.0 | 2,620 | 7/18/2024 |
0.14.0 | 7,202 | 1/26/2024 |
0.13.0 | 14,528 | 3/11/2023 |
0.12.0 | 32,350 | 10/12/2021 |
0.11.0 | 20,577 | 2/2/2021 |
0.10.0 | 8,165 | 3/14/2020 |
0.9.3 | 22,479 | 7/16/2018 |
0.9.2 | 3,142 | 6/10/2018 |
0.9.1 | 3,531 | 3/17/2018 |
0.9.0 | 3,464 | 3/11/2018 |
0.8.0 | 2,991 | 11/27/2017 |
0.7.0 | 2,864 | 9/18/2017 |
0.6.1 | 3,439 | 4/17/2017 |
0.6.0 | 1,770 | 4/17/2017 |
0.5.0 | 3,007 | 1/25/2017 |
0.4.2 | 2,166 | 1/3/2017 |
0.4.1 | 2,132 | 1/3/2017 |
0.4.0 | 2,181 | 9/11/2016 |
0.3.0 | 2,527 | 2/25/2016 |
0.2.1 | 1,683 | 12/17/2015 |
0.2.0 | 1,601 | 11/21/2015 |
0.1.1 | 1,906 | 8/8/2015 |
0.1.0 | 1,645 | 6/25/2015 |
## New in 0.16 (Released 2024/08/14)
* Applied pull request from @sbacquet (Fix the context not being valid when an actor receives a message sent from an async/task block)
* Upgraded Akka.NET dependencies to 1.5.27
## New in 0.15 (Released 2024/07/18)
* Applied pull request from @sbacquet (Use Async.StartImmediateAsTask instead of Async.StartAsTask in effects)
## New in 0.14 (Released 2024/01/11)
* Upgraded Akka.NET dependencies to 1.5.15
* Revised internal TypedMessageExtractor type to support new version of IMessageExtractor
* Updated Xunit packages
## New in 0.13 (Released 2023/03/11)
* Upgraded Akka.NET dependencies to 1.5
## New in 0.10 (Released 2020/03/14)
* Upgraded Akka.NET dependencies to 1.4.2
* Consolidated supported .NET version to .NET Standard 2.0
* Removed PersistentView (as its no longer supported)
* Akkling.Streams: added support to stream refs, observables, cancellation tokens and withContext variants.
* Akkling.Streams: switched tuple args to value tuples to match Akka.Streams API.
## New in 0.9.3 (Released 2018/07/09)
* Rollback FSharp.Core to 4.3.4
* Include XML docs
## New in 0.9.2 (Released 2018/06/10)
* New computation expression for Graph DSL
* Renamed graph join operator from => to =>>
* ByteString module
* New streams stages: valve, pulse, managedDelay, partition, statefulPartition, mapMatValue
## New in 0.9.1 (Released 2018/03/17)
* Restored multi-framework target
## New in 0.9 (Released 2018/03/11)
* .NET Standard update
* Removed F# quotations from the API
* Removed FsPickler dependency
* Akka.Streams.TestKit package
* More akka streams API exposed (including Graph stages)
## New in 0.8 (Released 2017/11/27)
* Initial functioning GraphDSL API
* Akka.Streams TCP wrappers
## New in 0.7 (Released 2017/09/18)
* Updated to Akka.NET v1.3.1
* Added experimental EntityRef for cluster sharding
* Extended Akkling.DistributedData API
* Extended Akkling.Streams API
* Minor bug fixes
## New in 0.6.1 (Released 2017/04/17)
* Fixed external package dependencies.
## New in 0.6 (Released 2017/04/17)
* Updated dependencies to match Akka.NET v1.2
* Updated features for Akka.Streams
## New in 0.5 (Released 2017/01/25)
* Switched to Hyperion as default serializer
* Adapter library for Akka.DistributedData
## New in 0.4.2 (Released 2017/01/03)
* Fixed Akka.NET dependency
## New in 0.4.1 (Released 2017/01/03)
* Relaxed dependency on System.Collections.Immutable
* Minor fix for persistent actors for unhandled messages
### New in 0.4.0 (Released 2016/09/11)
* Non-blocking interop with async computation expression
* Initial Akkling.Streams plugin
* Support for at-least-once-delivery semantic
* More examples
### New in 0.3.0 (Released 2016/02/25)
* Akkling.Cluster.Sharding and Akkling.TestKit packages
* new typed Props, all `spawn` functions now operates on them
* `actorOf` functions now returns effects
* new `become` effect
* new effect combinators `<|>` and `<&>`
* Ask operator `<?` now returns async of `AskResult<'msg>`
### New in 0.2.1 (Released 2015/12/17)
* Forward operator `<<!`
* Parent property in actor contexts
* Split Persist/PersistAsyn effect into single- and multi-event versions
* Initialized native F# support for Akka.IO (Akkling.IO namespace)
* F# support for some of the Akka system messages in form of active patterns.
* Akkling.Behaviors module with set of common behaviors.
### New in 0.2.0 (Released 2015/11/20)
* New effects-based actor expression API
* New Persistence API based on effects
* Actor/persistent actor lifecycle events handled as messages
* using Akka nightly builds
* switched to Wire as default serializer
* minor function arguments precedence redesign
### New in 0.1.1 (Released 2015/08/08)
* Fixed problem with Discriminated Unions serialization
* Upgraded to Akka 1.0.4 and FsPickler 1.2
### New in 0.1.0 (Released 2015/06/25)
* Upgraded Newtonsoft.Json dependency to 7.0.1
* Akkling.Persistence package released
#### New in 0.1.0-beta (Released 2015/06/13)
* Initial release
* Typed actor refs
* Simplified API