|
|
|
|
|
by houshuang
3918 days ago
|
|
This is really interesting stuff - reminds me a lot of lenses in Haskell, which the author points out, and also of state-trees in JS/compile-to-JS like Om or Baobab. I have been playing with something similar in Elixir, but deeply nested structures seem far less common there. 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). |
|