Functional-navigational programming in Clojure with Specter
nathanmarz.com
nathanmarz.com
One thing I like is the concept that a function can operate on a single well-defined data structure, without worrying about the fact that this structure is part of a much larger state tree.
I wonder if there are things that a strongly typed implementation (Haskell) can do, which this cannot do (as well)?
Also wondering at what point it becomes better to switch to an in-memory database (like Datascript), instead of a simple nested data structure. I guess transparency is a benefit of a single data structure, whereas things like Datascript might be faster(?) and can also handle things like storing history and building in undo-functionality etc (which you'd have to add manually otherwise).