FAkka.Akkling 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package FAkka.Akkling --version 1.0.0                
NuGet\Install-Package FAkka.Akkling -Version 1.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FAkka.Akkling" Version="1.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FAkka.Akkling --version 1.0.0                
#r "nuget: FAkka.Akkling, 1.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install FAkka.Akkling as a Cake Addin
#addin nuget:?package=FAkka.Akkling&version=1.0.0

// Install FAkka.Akkling as a Cake Tool
#tool nuget:?package=FAkka.Akkling&version=1.0.0                

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 Compatible and additional computed target framework versions.
.NET net9.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (15)

Showing the top 5 NuGet packages that depend on FAkka.Akkling:

Package Downloads
FAkka.Shared

Package Description

FAkka.Seed.7.0

Package Description

FAkka.Akkling.Streams

F# wrapper library for Akka.NET with reactive streams support

FAkka.Akkling.Persistence

F# wrapper library for Akka.NET with persistence support

FAkka.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
1.0.530.100 104 11/13/2024
1.0.530 46 11/3/2024
1.0.528 58 9/8/2024
1.0.0 58 9/2/2024
0.12.1 1,247 3/12/2023
0.12.0 408 1/20/2023

## 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