import java.util.function.BiFunction; import java.util.function.Function; public class Currying { // A,B -> C // A -> B -> C public static BiFunction add = (a, b) -> a + b; public static Function> curry(BiFunction fnToCurry) { return a -> b -> fnToCurry.apply(a, b); } public static void main(String[] args) { System.out.println("add:" + add.apply(2, 3)); System.out.println("add:" + curry(add).apply(2).apply(3)); } }