• Stars
    star
    218
  • Rank 181,805 (Top 4 %)
  • Language
    F#
  • License
    Apache License 2.0
  • Created over 9 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Experimental F# typed API for Akka.NET

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)

More Repositories

1

fsharp.core.extensions

A set of utilities, that you always wanted to have in F#.
F#
126
star
2

AkkaCQRS

Event sourcing example build on Akka.NET with persistence plugin
C#
102
star
3

crdt-examples

An example implementations of various CRDTs
F#
86
star
4

AkkaDemos

Various demos for Akka.NET
C#
40
star
5

Akka.Cluster.Discovery

Plugins for Akka.NET seed node management using 3rd party service discovery providers
C#
36
star
6

GrpcSample

Example of gRPC C# library with custom serializer
C#
24
star
7

Eventuate.NET

Port of JVM eventuate: https://rbmhtechnology.github.io/eventuate/
C#
13
star
8

crdt-table

This is proof of concept for Conflict-free Replicated Data Type representing 2-dimensional table
JavaScript
12
star
9

yrs-webrtc

WebRTC network connector for Yjs/Yrs update gossips
Rust
11
star
10

pgrdt

Postgres extension for conflict-free distributed programming utilities written in Rust
Rust
7
star
11

awesome-reads

Collection of interesting materials about distributed systems and other CS domains
7
star
12

wrtc

Wrapper around webrtc-rs library, focused on developer experience
Rust
5
star
13

vergil

Akka.NET plugin for stream-based persistence and reliable replication
C#
5
star
14

Calliope

Stream based approach to eventsourcing and replication in Akka.NET
C#
5
star
15

horusiath

5
star
16

Akka.Persistence.Pulsar

Akka.NET persistence journal for Apache Pulsar
C#
5
star
17

actor-design-notes

Design notes on actor frameworks
4
star
18

fsraft

Free, idempotent and technology-agnostic implementation of Raft consensus protocol.
F#
4
star
19

yrs-libp2p

libp2p network provider for yrs Document and Awareness protocols
Rust
4
star
20

clusterpack

Cluster-as-a-Library project aiming to give an embeddable SWIM-based cluster membership support
C#
3
star
21

bec

Byzantine Eventual Consistency in Go
Go
3
star
22

akka-typed

Type-safe API for Akka.NET
C#
2
star
23

Akka.Streams.Eventsourcing

An Akka.NET streams engine on top of Akka.Persistence
C#
2
star
24

Akka.Persistence.Sqlite

Akka.Persistence.Sqlite provider
C#
2
star
25

NWamp

C# implementation of WebSocket Application Messaging Protocol
JavaScript
2
star
26

Akka.Serialization.Bond

Akka.NET serializer bindings for Microsoft Bond library.
C#
2
star
27

vector-clocks

An experiment for build a VectorClocks optimized for equality/comparison by utilizing CPU vectorization.
C#
2
star
28

CrdtDemo

Akka.DistributedData demo - console key-multi value store
C#
1
star
29

hyperion-vnext

Experiments over polymorphic serializers
C#
1
star
30

Grafs

Experimental GraphQL API for F#
F#
1
star
31

Playground

Akka.NET projects and ideas, that for some reasons I haven't finished.
C#
1
star
32

Demos

F#
1
star
33

protocols-rs

Various distributed system protocols
Rust
1
star
34

TimeMachine

Simple, dynamic object's property tracker with changelog history and ability to state time travel.
C#
1
star
35

storyteller

CRDT with authorisation and authentication backed in
Rust
1
star