Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Sample implementation of functional lenses in Java
Branch: master
Pull request Compare This branch is even with remeniuk:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
core/src/main/java/org/scalaby/fjava
examples/src/main/java
project
.gitignore
README

README

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
Something went wrong with that request. Please try again.