React.js and its “IMGUI” inspired rendering model is exploding in popularity. After my talk at Clojure/West, several folks asked me about two seemingly separate discussion topics: Two-way Bindings and Cursors.
Both designs share a flaw born of a common desire: To automatically map user input back to data sources. When there’s a 1-to-1 mapping from data sources to user interfaces, this is appropriate. However, it’s not sufficient for the general case. In fact, it’s not sufficient for the common case.
Transformations of source data in to views beyond trivial editable fields is almost never reversible or equational.
An article by Kevin Downey highlighting what some under utilized capabilities of Clojure’s reduce
Pysistence is a small library that provides three persistent (immutable) datastrucures: lists, dictionaies, and expandos. Expandos are simply record objects. There is also a facility to use expandos as the bases of imutable classes.
It's not a replacement for Clojure, but it does make a functional style of programming a little less onerous in Python.
The Welcome to Macintosh podcast interviews Charlie Kellner about his Syntauri, an Apple ][ powered synthesiser.