Hacker News new | ask | show | jobs
by jononor 3434 days ago
What is the proposed alternative? (using a named function or method just seems to be semantically the same, just more characters)
2 comments

Something like functional reactive programming style, where you explicitly define a pipeline from foo.click to x and explicitly gather together all your pipelines (explicitly defining the interleaving semantics rather than just "whenever an event happens it happens") and run them in one place.

    foo.on_click(partial(q.append, foo))
The nice thing about ``append`` is it's atomic (for builtins).
Where does the update of `x` go in this example? By observing a Queue or Stream `q`?
If it must be mutable state, then ideally you'd have a single consumer thread for counting off that queue to avoid worrying about locks.

Or maybe what's in the queue gets written to a permanent log and ``x`` is a query of that log, a la Datomic.