[1] https://sinusoid.es/immer/memory.html#classimmer_1_1gc__heap
- Immer (C++) appears to be roughly equivalent to Immutable.js ( https://immutable-js.com/ ): a set of specialized data structures
- Immer (JS), on the other hand, uses JS Proxies to wrap plain values, traps attempted mutations, and then replays them to return a safely immutable updated final result
As far as I know, Michel Weststrate came up with the name independently (although I can't 100% confirm that).
(source: I didn't create Immer (JS), but I started using it in Redux Toolkit in 2018, am quoted in the docs about how much I love it, spent the last couple months doing performance optimization work that got shipped in Immer 11.x, and just put up some more bugfix PRs today. I'm a secondary maintainer at this point.)
(Of course, they might have more in common, I don't know.)
gnabgib•6d ago
2019 (102 points, 56 comments) https://news.ycombinator.com/item?id=20947222
2016 (144 points, 46 comments) https://news.ycombinator.com/item?id=13049843