Anyone tried something along these lines:

The state of an application in Elm can be re-built by starting from its 
'init' state, then replaying all messages to a given state. This is called 
event sourcing.

If I am using some application written in Elm, and I want to share what I 
am doing with someone else, all I need is for them to start up the same 
application, the replay my event stream over it. Something like AMQP over 
Web Sockets could provide the transport layer.

There might need to be a way on the slave application to ignore all of the 
local users events, and only update the model from the event source from 
the master. That should be fairly easy to achieve by wrapping the Program 
with one that does this.

For a multi-user application, a simple but perhaps too inefficient way of 
keeping things in sync would be for all user events to be round-tripped 
through a message queue in order to put them in a sequential order that is 
the same for all participants. So local input events would not go straight 
to the update function, but be round tripped over the network. Would 
probably work well enough for a small number of users on the LAN.

Just curious to know if anyone has ever experimented with Elm along these 
lines.

-- 
You received this message because you are subscribed to the Google Groups "Elm 
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to