|
|
|
|
|
by divs1210
1244 days ago
|
|
> No shared mutability. This is an unrealistic constraint; Hard disagree. It is impossible to safely use shared mutable state b/w parallel processes. See how DB isolation levels work - serializable is the only safe way to go if your processes do anything conditional on the current state. To parallelize, you have to partition the DB which is kind of a cheap way to split one physical DB into separate logical DBs. So even DBs - the largest shared mutable states we have - are also not really shared mutable states. They need to be broken down into unshared mutable states to be useful. Shared mutable state is a smell both at the code level and system level. |
|
Also, you can still apply mutability restrictions at the region/thread/process level. You don't need to apply it to every single object, which would lead to the drawbacks discussed above. If you want to learn more about it, take a look at what Pony is doing.