Skip to content

Commit 28f099f

Browse files
author
Mark Perry
committed
Partial application for F3 and F4
1 parent 5d7a9d1 commit 28f099f

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

core/src/main/java/fj/F3Functions.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,14 @@ static public <A, B, C, D> F3<A, B, C, Validation<Exception, D>> toF3(final TryC
2626
};
2727
}
2828

29+
/**
30+
* Partial application.
31+
*
32+
* @param a The <code>A</code> to which to apply this function.
33+
* @return The function partially applied to the given argument.
34+
*/
35+
static public <A, B, C, D> F2<B, C, D> f(final F3<A, B, C, D> f, final A a) {
36+
return (b, c) -> f.f(a, b, c);
37+
}
38+
2939
}

core/src/main/java/fj/F4Functions.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,14 @@ static public <A, B, C, D, E> F4<A, B, C, D, Validation<Exception, E>> toF4(fina
2424
};
2525
}
2626

27+
/**
28+
* Partial application.
29+
*
30+
* @param a The <code>A</code> to which to apply this function.
31+
* @return The function partially applied to the given argument.
32+
*/
33+
static public <A, B, C, D, E> F3<B, C, D, E> f(final F4<A, B, C, D, E> f, final A a) {
34+
return (b, c, d) -> f.f(a, b, c, d);
35+
}
36+
2737
}

0 commit comments

Comments
 (0)