For anyone interested, I wrote a lens library for JavaScript a few days ago:
https://github.com/puffnfresh/fantasy-lenses
The first example can be written like so:
var locationX = location.andThen(x); locationX.set(locationX.get() + 10);
Michael Greenberg also published a JavaScript lenses library back in 2007, as part of his thesis at the University of Pennsylvania:
http://www.cis.upenn.edu/~mgree/ugrad/lenses/docs/overview-summary-lens.js.html
It’s a bit dated now, to be sure, as there have since been many developments in the field of “bidirectional programming”. See, for example, Daniel Wagner’s paper on “Edit Lenses”:
http://dmwit.com/papers/201107EL.pdf
For anyone interested, I wrote a lens library for JavaScript a few days ago:
https://github.com/puffnfresh/fantasy-lenses
The first example can be written like so:
Michael Greenberg also published a JavaScript lenses library back in 2007, as part of his thesis at the University of Pennsylvania:
http://www.cis.upenn.edu/~mgree/ugrad/lenses/docs/overview-summary-lens.js.html
It’s a bit dated now, to be sure, as there have since been many developments in the field of “bidirectional programming”. See, for example, Daniel Wagner’s paper on “Edit Lenses”:
http://dmwit.com/papers/201107EL.pdf