Skip to content

Commit c263b1d

Browse files
committed
Merge pull request #179 from javafp/some-fixes
Some fixes
2 parents de8aa1d + a648f75 commit c263b1d

4 files changed

Lines changed: 17 additions & 25 deletions

File tree

core/src/main/java/fj/Function.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -734,7 +734,7 @@ public static <A, B, C> F<C, B> bind(final F<C, A> ma, final F<A, F<C, B>> f) {
734734
* @return A new function after applying the given higher-order function to the given function.
735735
*/
736736
public static <A, B, C> F<C, B> apply(final F<C, F<A, B>> cab, final F<C, A> ca) {
737-
return bind(cab, f -> compose(a -> f.f(a), ca));
737+
return bind(cab, f -> compose(f, ca));
738738
}
739739

740740
/**

core/src/main/java/fj/data/Stream.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -564,7 +564,7 @@ public static <A> Stream<Option<A>> sequence(final Option<Stream<A>> o) {
564564
* @return A new stream after applying the given stream of functions through this stream.
565565
*/
566566
public final <B> Stream<B> apply(final Stream<F<A, B>> sf) {
567-
return sf.bind(f -> map(a -> f.f(a)));
567+
return sf.bind(f -> map(f));
568568
}
569569

570570
/**

core/src/main/java/fj/data/Validation.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ public <X> X validation(final F<E, X> fail, final F<T, X> success) {
8585
* @return a failing projection of this validation.
8686
*/
8787
public FailProjection<E, T> f() {
88-
return new FailProjection<E, T>(this);
88+
return new FailProjection<>(this);
8989
}
9090

9191
/**
@@ -231,11 +231,7 @@ public <A> Option<Validation<A, T>> filter(final F<T, Boolean> f) {
231231
* @return The result of function application in validation.
232232
*/
233233
public <A> Validation<E, A> apply(final Validation<E, F<T, A>> v) {
234-
return v.bind(new F<F<T, A>, Validation<E, A>>() {
235-
public Validation<E, A> f(final F<T, A> f) {
236-
return map(f);
237-
}
238-
});
234+
return v.bind(this::map);
239235
}
240236

241237
/**
@@ -871,7 +867,7 @@ public static <A, E> List<A> successes(List<Validation<?, A>> list) {
871867
/**
872868
* A failing projection of a validation.
873869
*/
874-
public final class FailProjection<E, T> implements Iterable<E> {
870+
public static final class FailProjection<E, T> implements Iterable<E> {
875871
private final Validation<E, T> v;
876872

877873
private FailProjection(final Validation<E, T> v) {
@@ -1098,7 +1094,7 @@ public Validation<NonEmptyList<E>, T> nel() {
10981094
* @return A validation using the given either value.
10991095
*/
11001096
public static <E, T> Validation<E, T> validation(final Either<E, T> e) {
1101-
return new Validation<E, T>(e);
1097+
return new Validation<>(e);
11021098
}
11031099

11041100
/**

core/src/main/java/fj/data/optic/Traversal.java

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package fj.data.optic;
22

33
import fj.F;
4-
import fj.F2;
54
import fj.F3;
65
import fj.F4;
76
import fj.F5;
87
import fj.F6;
8+
import fj.F7;
99
import fj.Monoid;
1010
import fj.P1;
1111
import fj.control.Trampoline;
@@ -123,33 +123,29 @@ public static <S> Traversal<Either<S, S>, S> codiagonal() {
123123
return new Traversal<>(PTraversal.pCodiagonal());
124124
}
125125

126-
public static <S, A> Traversal<S, A> traversal(final F<S, A> get1, final F<S, A> get2, final F2<A, A, S> set) {
127-
return new Traversal<>(PTraversal.pTraversal(get1, get2, (a1, a2, s) -> set.f(a1, a2)));
126+
public static <S, A> Traversal<S, A> traversal(final F<S, A> get1, final F<S, A> get2, final F3<A, A, S, S> set) {
127+
return new Traversal<>(PTraversal.pTraversal(get1, get2, set));
128128
}
129129

130130
public static <S, A> Traversal<S, A> traversal(final F<S, A> get1, final F<S, A> get2, final F<S, A> get3,
131-
final F3<A, A, A, S> set) {
132-
return new Traversal<>(PTraversal.pTraversal(get1, get2, get3, (a1, a2, a3, s) -> set.f(a1, a2, a3)));
131+
final F4<A, A, A, S, S> set) {
132+
return new Traversal<>(PTraversal.pTraversal(get1, get2, get3, set));
133133
}
134134

135135
public static <S, A> Traversal<S, A> traversal(final F<S, A> get1, final F<S, A> get2, final F<S, A> get3,
136-
final F<S, A> get4,
137-
final F4<A, A, A, A, S> set) {
138-
return new Traversal<>(PTraversal.pTraversal(get1, get2, get3, get4, (a1, a2, a3, a4, s) -> set.f(a1, a2, a3, a4)));
136+
final F<S, A> get4, final F5<A, A, A, A, S, S> set) {
137+
return new Traversal<>(PTraversal.pTraversal(get1, get2, get3, get4, set));
139138
}
140139

141140
public static <S, A> Traversal<S, A> traversal(final F<S, A> get1, final F<S, A> get2, final F<S, A> get3,
142-
final F<S, A> get4, final F<S, A> get5,
143-
final F5<A, A, A, A, A, S> set) {
144-
return new Traversal<>(PTraversal.pTraversal(get1, get2, get3, get4, get5,
145-
(a1, a2, a3, a4, a5, s) -> set.f(a1, a2, a3, a4, a5)));
141+
final F<S, A> get4, final F<S, A> get5, final F6<A, A, A, A, A, S, S> set) {
142+
return new Traversal<>(PTraversal.pTraversal(get1, get2, get3, get4, get5, set));
146143
}
147144

148145
public static <S, A> Traversal<S, A> traversal(final F<S, A> get1, final F<S, A> get2, final F<S, A> get3,
149-
final F<S, A> get4, final F<S, A> get5, final F<S, A> get6,
150-
final F6<A, A, A, A, A, A, S> set) {
146+
final F<S, A> get4, final F<S, A> get5, final F<S, A> get6, final F7<A, A, A, A, A, A, S, S> set) {
151147
return new Traversal<>(PTraversal.pTraversal(get1, get2, get3, get4, get5, get6,
152-
(a1, a2, a3, a4, a5, a6, s) -> set.f(a1, a2, a3, a4, a5, a6)));
148+
set));
153149
}
154150

155151
}

0 commit comments

Comments
 (0)