/** * Curry this closure by fixing its fourth free variable to a given value. * @param curry The value to which the third variable should be curry * @return A Closure having two free variables */ public Closure3<A, B, C> curry4(D curry) { return curry(new Closure3<A, B, C>(), curry, 4); }
/** * Curry this closure by fixing its first free variable to a given value. * @param curry The value to which the first variable should be curry * @return A Closure having two free variables */ public Closure3<B, C, D> curry1(A curry) { return curry(new Closure3<B, C, D>(), curry, 1); }
/** * Curry this closure by fixing its second free variable to a given value. * @param curry The value to which the second variable should be curry * @return A Closure having two free variables */ public Closure3<A, C, D> curry2(B curry) { return curry(new Closure3<A, C, D>(), curry, 2); }
/** * Curry this closure by fixing its third free variable to a given value. * @param curry The value to which the third variable should be curry * @return A Closure having two free variables */ public Closure3<A, B, D> curry3(C curry) { return curry(new Closure3<A, B, D>(), curry, 3); }