Skip to content


Subversion checkout URL

You can clone with
Download ZIP


Splice stream #3

Raynos opened this Issue · 5 comments

2 participants


A crdt.Set / crdt.Seq matches the splice-stream idea.

We should have some way to turn a Set and a Seq into a splice stream. splice streams are to array as delta streams are to object.


@dominictarr We can look at this problem differently.

A crdt Set / Seq can still have unique ids for each object and a _sort property or a sort key or whatever.

We can then represent a Set / Seq as a splice stream for emitting local changes on the Set/Seq and for sending local changes back to the Set/Seq.

Then we can send those changes over the wire properly in the crdt format.

We are never sending splice streams directly over the wire.

But if you have a better suggestion for a List stream feel free to make one.


@dominictarr yes. I mainly want to use splice-stream & delta-stream for turning GUI elements into streams


@dominictarr splice-stream is broken as hell. It doesn't work even in a single process and is completely broken cross process.

I will deprecate it and create list-stream which is a scuttlebutt representation of an array which uses numeric keys from 0 to 1 (using between) and pretends the object is an array.

Eventaully crdt.Set and crdt.Seq will be based on list like abstractions

@Raynos Raynos closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.