Starting to explore Functional Java, which have been on my radar for quite a long time. Of course, the Java syntax without syntactic sugar for closures does not help in accelerating understanding of what's going on particularly in the fj.control.parallel package which contains the most interesting stuff to do concurrent computations.
What I am trying to do is to parallelize maven builds using this framework:
public Integer maven(List<Integer> prerequisites) { ... }
private F<List<Integer>, Integer> mavenF(final int buildId) { return new F<List<Integer>, Integer>() { public Integer f(List<Integer> a) { return maven(a); } }; }
bind() operator, it can lift plain functions into promises-taking and returning functions, and overall can dispatch computation of a promise lazily using some kind of parallelization-strategy object that returns some value.