I don't think it is a good idea to stray away from the bare metal in this case. We're trying to bootstrap other languages on top of JS. They can introduce their own abstractions to shield off the programmer. Just my 2ct.
Re:Concurrent JavaScript: It can work
by phailhaus on Wednesday August 30, 2017 @02:02PM
(#15134440)
JS already supports immutable objects, by using Object.freeze().
That doesn't really make things immutable. Even ignoring the deep vs shallow issue, consider what effect Object.freeze has on a JS Map (hint: none, really; you can still add/remove things).
Re:Concurrent JavaScript: It can work
by phailhaus on Wednesday August 30, 2017 @03:44PM
(#15135305)
Right, that's where libraries like ImmutableJS come in.
Shared-memory multithreading is just very difficult to use correctly. Actor-style concurrency hasn't really caught on (possibly because of the poor performance of workers and postMessage), but there is probably a middle ground that's easier for developers to get right.