Unless you mean that some data is shared, but cannot be modified, but this would be semantically identical to not sharing anything.
Unless you mean that some data is shared, but cannot be modified, but this would be semantically identical to not sharing anything.
Look, just read up on the type system, specifically reference capabilities[0]. It's basically what allows for safe mutability and data passing when required.
[0] https://tutorial.ponylang.org/capabilities/reference-capabil...
That's the gist of Rust's borrow checker. Shared data can't be modified (unless you use a Mutex or something similar, but then you need to acquire a lock, so data you can mutate is not shared).
> [...] this would be semantically identical to not sharing anything.
Erlang's data sharing (and no, not all binary data, just over a certain threshold; if you want to nitpick, be diligent and precise) is merely optimization trick, highly uninteresting when it comes to discussing type systems (because its semantics are identical to not sharing anything at all).
BTW, if you talk about Erlang, use proper Erlang's terminology. Erlang doesn't have "actors", it has "processes".