|
|
|
|
|
by lunarcave
831 days ago
|
|
Author here. Absolutely agree with what you're saying. Maybe the line could be written better. It is supposed to say: You can't pass functions and promises. And you can't pass in other data types that are not serialisable. I definitely did not intend to say that functions or promises are not serialisable, and it is something we're looking into. The complexity is with serialising the closure state. The other thing we're implementing is constraining the data types via the type system itself. edit: punctuation |
|
At present the docs say it can serialise things that it can serialise with a couple of examples on each side.
My best guess is there's some limitations caused by the stack under your implementation that you haven't worked around, but I don't know what those limitations are or which ones you plan to resolve.
In addition to what can be sent there's a load of design choices about what is sent.
Is aliasing within the original preserved?
Is potential aliasing introduced?
Is it compressed in transit?
Is it delta encoded with respect to information that was sent previously?
Is there some initial blob of information every instance starts up with that messages are deduplicated against?
And that's before the behaviour on mutation - when one machine changes the data, how and when is that change reflected on other machines?