Collapsible input/outputs was just merged into JupyterLab today!
HN user
gnestor
Redux (among many others) uses an immutable log of messages (actions) to manage state and uses pub/sub to communicate between UI components and the state "store." This is significant because it allows the developer to debug the application by replaying messages/actions. Refraction appears to to take a similar approach with "history" and "replay" and "publish"/"subscribe". Both Redux and Refraction have a concept of middleware (such as a logger) that will log every messages that dispatched/published. One notable feature of Redux is the single reducer that centralizes all state update logic. It appears that with Refraction, subscriptions are scattered about the project and there is no way to inspect the dependencies between modules at a given point in time. So my question is: Why use Refraction in lieu of Redux or a Elm architecture-like pattern?
I'm 28 and I've read it 3-4 times now. It's a truly an inspired work. I think that it would appeal to the HN community because the author, Robert Persig, arguably reaches a statement of enlightenment entirely through deductive reasoning. The story is essentially Persig's attempt to piece this whole event together after having undergone electric shock therapy. The story unfolds as Persig and his son travel across the US by motorcycle and is complemented by intermediary "chautauquas" (philosophical monologues) and technical monologues about motorcycle maintenance. The book is an enigma (unlike its sequel "Lila" which is not), and there isn't any other book that I've read that is like it.