Objects as Records vs Activities

I wonder instead of decoupling computations and data. If it’s more important to talk about purity and side effects. Since pure computations can be closed over and transported over the network providing portability. But you’re not going to be able to transfer a side effect itself. Things like clocks, streams, open sockets can’t be reasoned about in referentially transparent ways. Similar to Fearless extensibility: Capabilities and effects, maybe if we separate out the effectful parts of computation it might help break apart these systems. I think the OO/actor solution of just passing messages around kind of misses the point where those side effects may no longer be relevant.

3 Likes