-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathREADME
10 lines (6 loc) · 802 Bytes
/
README
1
2
3
4
5
6
7
8
9
10
Implementation of a functional lens in Java, based on this answer [1], given by Daniel Sobral at SO.
Lense is a convienient way to access and update immutable data structures in a functional world.
Lenses are very useful, when you have a deep hierarchy of objects, and you want to update nested elements in an imperative manner (leaving recreation of the whole object hirarchy behind the scenses).
Lenses in languages with first-class functions is a quite powerful and elegant tool. In Java, unfortunatelly, you have to use anonymous inner classes to represent function objects, and lenses lose the most of their's glitter.
In some cases, however, lenses can still be useful. E.g., when you want to transform an object, generated by Protobuf builders.
1: http://stackoverflow.com/a/5597750/354067