Is this actually true? Clojure is eager and has efficient immutable data structures.
Some immutable data structures must be implemented strictly, others lazily.
There are known algorithms/data structures where you either have to use immutability or laziness in order to get an efficient implementation.
Note that lazy / eager is just a default : it just take more lines of code to write lazy datastructures (such as Okasaki's ones).
Re:Pessimism about parallelism
by steveklabnik on Thursday December 27, 2018 @07:58AM
(#18769179)
Check out the im crate.
There's nothing lazy in there, right?
Re:Pessimism about parallelism
by steveklabnik on Thursday December 27, 2018 @07:52PM
(#18774003)
I don’t 100% remember, but it’s efficient immutable data structures, written by Bodil, who I assume you know.
I prefer it for concurrency, but it's not a panacea. In particular, laziness is necessary for efficient immutable data structures, and immutable structures are a nice way to avoid some of the problems inherent in writing concurrent programs.