putlenses (hackage): Putlenses is a library of lenses where users specify backward put transformations (set in the Haskell lens package) and the library provides forward get transformations for free (view in the lens package). This contrasts with other traditional libraries for bidirectional programming, where forward transformations are specified instead and backward transformations are automatically derived, and offers more expressive power and control over the bidirectional synchronization strategies to users, while preserving a similarly maintainable specification style. An introduction to putback-based programming can be found at http://grace-center.jp/wp-content/uploads/2013/01/GRACE-TR-2012-08.pdf. A research paper on putlenses is available at http://dl.acm.org/citation.cfm?id=2543737.
Keywords: bsd3|generics|lenses|library