Re:Correctness – A paradigm for sustainable software develop...
by wwright on Friday April 05, 2019 @08:03PM
(#19588213)
This sounds like “persistent data structures,” which are offered in most modern FP environments (including JavaScript, if you use libraries.)
Those structures don’t behave as objects themselves, but it’s not uncommon for Haskell monads, for example, to have very object-like behavior when you build them up a high layer, while each step in the monad is still an immutable value with cheap mutation-copies.
I would really like to see some OOP language that implements James Reed's reference versioning or at lest a weaker implementation where every object "mutation" creates an effective copy with the changes, without touching anything that would be referenced previously. It would fix a lot of low-level annoyances people have with SmallTalk, JavaScript and so on. Would be extra amazing if it was based on prototypes, not classes. But at this point it sounds like I would have to write it myself.