• Stars
    star
    218
  • Rank 175,160 (Top 4 %)
  • Language
    F#
  • License
    Apache License 2.0
  • Created almost 9 years ago
  • Updated 10 months 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#
79
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#
35
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#
12
star
8

yrs-webrtc

WebRTC network connector for Yjs/Yrs update gossips
Rust
9
star
9

awesome-reads

Collection of interesting materials about distributed systems and other CS domains
8
star
10

crdt-table

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

pgrdt

Postgres extension for conflict-free distributed programming utilities written in Rust
Rust
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

Akka.Persistence.Pulsar

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

Calliope

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

horusiath

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

clusterpack

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

bec

Byzantine Eventual Consistency in Go
Go
3
star
21

Akka.Streams.Eventsourcing

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

Akka.Persistence.Sqlite

Akka.Persistence.Sqlite provider
C#
2
star
23

akka-typed

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

NWamp

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

Akka.Serialization.Bond

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

vector-clocks

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

CrdtDemo

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

Grafs

Experimental GraphQL API for F#
F#
1
star
29

hyperion-vnext

Experiments over polymorphic serializers
C#
1
star
30

Playground

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

Demos

F#
1
star
32

protocols-rs

Various distributed system protocols
Rust
1
star
33

TimeMachine

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