'What does BGGA have that FCM + JCA does not?'
To start with: Exception transparency. Completion transparency. The possibility of wrapping a block of code in a closure without changing its meaning. Useful subtyping relationships among function types. Proper handling of definite assignment. Loop abstractions that enable the invoker to 'break' or 'continue'.
However, as you can see from the draft JSR proposal based on BGGA here http://www.javac.info/consensus-closures-jsr.html we intend to add a conversion from a 'reference to a method' into a closure. |