Follow

Brainstorming constructs.

VIA = TERM "via" ATOM.
POST = ATOM | VIA.
POSTLST = POST [ "," POSTLST ].
FUN = a function

ASSIGN = "assign" POST "listen" POSTLST "shout" FUN.
HEAR = "hear" POST.

An "assign" spawns (intermittent) process, registered as POST, that updates its state following each shout from processes listened to, then shouts IFF state change is substantive.

A "hear" returns the most recent shout from POST process, blocking if process has yet to shout.

Anyone seen anything similar?

The parenthetical "intermittent" deserves some explanation.

Actual spawn is a process pair, to a pair of pool managers. One pool handles listeners and hears. The other handles incoming shouts, passing results to first.

Each pool manager freezes off less active children to an integral data store. Registrations are preserved, message traffic being queued until thaw. Pair-mates are frozen and thawed independently of one another.

The objective is to support dense meshworks of (latently) EC state.

Show thread
Sign in to participate in the conversation
Mastodon

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!