Skip to content

Commit 28c0e28

Browse files
committed
Added partial application of first parameter for uncurried functions for F5-F8
1 parent d4d1dd4 commit 28c0e28

File tree

4 files changed

+43
-0
lines changed

4 files changed

+43
-0
lines changed

core/src/main/java/fj/F5Functions.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,14 @@ static public <A, B, C, D, E, F> F5<A, B, C, D, E, Validation<Exception, F>> toF
2323
};
2424
}
2525

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

core/src/main/java/fj/F6Functions.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,16 @@ static public <A, B, C, D, E, F, G> F6<A, B, C, D, E, F, Validation<Exception, G
2323
};
2424
}
2525

26+
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, F$, G> F5<B, C, D, E, F$, G> f(final F6<A, B, C, D, E, F$, G> func, final A a) {
34+
return (b, c, d, e, f) -> func.f(a, b, c, d, e, f);
35+
}
36+
37+
2638
}

core/src/main/java/fj/F7Functions.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,15 @@ static public <A, B, C, D, E, F, G, H> F7<A, B, C, D, E, F, G, Validation<Except
2323
};
2424
}
2525

26+
/**
27+
* Partial application.
28+
*
29+
* @param a The <code>A</code> to which to apply this function.
30+
* @return The function partially applied to the given argument.
31+
*/
32+
static public <A, B, C, D, E, F$, G, H> F6<B, C, D, E, F$, G, H> f(final F7<A, B, C, D, E, F$, G, H> func, final A a) {
33+
return (b, c, d, e, f, g) -> func.f(a, b, c, d, e, f, g);
34+
}
35+
36+
2637
}

core/src/main/java/fj/F8Functions.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,14 @@ static public <A, B, C, D, E, F, G, H, I> F8<A, B, C, D, E, F, G, H, Validation<
2323
};
2424
}
2525

26+
/**
27+
* Partial application.
28+
*
29+
* @param a The <code>A</code> to which to apply this function.
30+
* @return The function partially applied to the given argument.
31+
*/
32+
static public <A, B, C, D, E, F$, G, H, I> F7<B, C, D, E, F$, G, H, I> f(final F8<A, B, C, D, E, F$, G, H, I> func, final A a) {
33+
return (b, c, d, e, f, g, h) -> func.f(a, b, c, d, e, f, g, h);
34+
}
35+
2636
}

0 commit comments

Comments
 (0)