Skip to content

Commit 6f30dee

Browse files
committed
Traversable#traverse requires one less type parameter
1 parent 5a2ae62 commit 6f30dee

26 files changed

+43
-61
lines changed

src/main/java/com/jnape/palatable/lambda/adt/Either.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -282,8 +282,7 @@ public final <R2> Either<L, R> discardR(Applicative<R2, Either<L, ?>> appB) {
282282
@Override
283283
@SuppressWarnings("unchecked")
284284
public final <R2, App extends Applicative<?, App>, TravB extends Traversable<R2, Either<L, ?>>,
285-
AppB extends Applicative<R2, App>,
286-
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super R, ? extends AppB> fn,
285+
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super R, ? extends Applicative<R2, App>> fn,
287286
Fn1<? super TravB, ? extends AppTrav> pure) {
288287
return (AppTrav) match(l -> pure.apply((TravB) left(l)), r -> fn.apply(r).fmap(Either::right));
289288
}

src/main/java/com/jnape/palatable/lambda/adt/Maybe.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,8 +213,7 @@ public final Maybe<A> peek(Fn1<? super A, ? extends IO<?>> effect) {
213213
@Override
214214
@SuppressWarnings("unchecked")
215215
public final <B, App extends Applicative<?, App>, TravB extends Traversable<B, Maybe<?>>,
216-
AppB extends Applicative<B, App>,
217-
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super A, ? extends AppB> fn,
216+
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super A, ? extends Applicative<B, App>> fn,
218217
Fn1<? super TravB, ? extends AppTrav> pure) {
219218
return match(__ -> pure.apply((TravB) Maybe.<B>nothing()), a -> (AppTrav) fn.apply(a).fmap(Maybe::just));
220219
}

src/main/java/com/jnape/palatable/lambda/adt/These.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@ public final <C> These<A, C> pure(C c) {
6262
@Override
6363
@SuppressWarnings("unchecked")
6464
public <C, App extends Applicative<?, App>, TravB extends Traversable<C, These<A, ?>>,
65-
AppB extends Applicative<C, App>, AppTrav extends Applicative<TravB, App>>
66-
AppTrav traverse(Fn1<? super B, ? extends AppB> fn, Fn1<? super TravB, ? extends AppTrav> pure) {
65+
AppTrav extends Applicative<TravB, App>>
66+
AppTrav traverse(Fn1<? super B, ? extends Applicative<C, App>> fn, Fn1<? super TravB, ? extends AppTrav> pure) {
6767
return match(a -> pure.apply((TravB) a(a)),
6868
b -> fn.apply(b).fmap(this::pure).<TravB>fmap(Applicative::coerce).coerce(),
6969
into((a, b) -> fn.apply(b).fmap(c -> both(a, c)).<TravB>fmap(Applicative::coerce).coerce()));

src/main/java/com/jnape/palatable/lambda/adt/Try.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -224,8 +224,7 @@ public <B> Try<A> discardR(Applicative<B, Try<?>> appB) {
224224
@Override
225225
@SuppressWarnings("unchecked")
226226
public <B, App extends Applicative<?, App>, TravB extends Traversable<B, Try<?>>,
227-
AppB extends Applicative<B, App>,
228-
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super A, ? extends AppB> fn,
227+
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super A, ? extends Applicative<B, App>> fn,
229228
Fn1<? super TravB, ? extends AppTrav> pure) {
230229
return match(t -> pure.apply((TravB) failure(t)),
231230
a -> fn.apply(a).fmap(Try::success).<TravB>fmap(Applicative::coerce).coerce());

src/main/java/com/jnape/palatable/lambda/adt/choice/Choice2.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,7 @@ public final <C> Choice2<A, C> flatMap(Fn1<? super B, ? extends Monad<C, Choice2
151151
@Override
152152
@SuppressWarnings("unchecked")
153153
public <C, App extends Applicative<?, App>, TravB extends Traversable<C, Choice2<A, ?>>,
154-
AppB extends Applicative<C, App>,
155-
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super B, ? extends AppB> fn,
154+
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super B, ? extends Applicative<C, App>> fn,
156155
Fn1<? super TravB, ? extends AppTrav> pure) {
157156
return match(a -> pure.apply((TravB) a(a)),
158157
b -> fn.apply(b).<Choice2<A, C>>fmap(Choice2::b).<TravB>fmap(Functor::coerce).coerce());

src/main/java/com/jnape/palatable/lambda/adt/choice/Choice3.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,7 @@ public <D> Choice3<A, B, D> flatMap(Fn1<? super C, ? extends Monad<D, Choice3<A,
152152
@Override
153153
@SuppressWarnings("unchecked")
154154
public <D, App extends Applicative<?, App>, TravB extends Traversable<D, Choice3<A, B, ?>>,
155-
AppB extends Applicative<D, App>,
156-
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super C, ? extends AppB> fn,
155+
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super C, ? extends Applicative<D, App>> fn,
157156
Fn1<? super TravB, ? extends AppTrav> pure) {
158157
return match(a -> pure.apply((TravB) Choice3.<A, B, D>a(a)).coerce(),
159158
b -> pure.apply((TravB) Choice3.<A, B, D>b(b)).coerce(),

src/main/java/com/jnape/palatable/lambda/adt/choice/Choice4.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,7 @@ public <E> Choice4<A, B, C, E> flatMap(Fn1<? super D, ? extends Monad<E, Choice4
152152
@Override
153153
@SuppressWarnings("unchecked")
154154
public <E, App extends Applicative<?, App>, TravB extends Traversable<E, Choice4<A, B, C, ?>>,
155-
AppB extends Applicative<E, App>,
156-
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super D, ? extends AppB> fn,
155+
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super D, ? extends Applicative<E, App>> fn,
157156
Fn1<? super TravB, ? extends AppTrav> pure) {
158157
return match(a -> pure.apply((TravB) Choice4.<A, B, C, E>a(a)).coerce(),
159158
b -> pure.apply((TravB) Choice4.<A, B, C, E>b(b)).coerce(),

src/main/java/com/jnape/palatable/lambda/adt/choice/Choice5.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,7 @@ public <F> Choice5<A, B, C, D, F> flatMap(Fn1<? super E, ? extends Monad<F, Choi
156156
@Override
157157
@SuppressWarnings("unchecked")
158158
public <F, App extends Applicative<?, App>, TravB extends Traversable<F, Choice5<A, B, C, D, ?>>,
159-
AppB extends Applicative<F, App>,
160-
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super E, ? extends AppB> fn,
159+
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super E, ? extends Applicative<F, App>> fn,
161160
Fn1<? super TravB, ? extends AppTrav> pure) {
162161
return match(a -> pure.apply((TravB) Choice5.<A, B, C, D, F>a(a)).coerce(),
163162
b -> pure.apply((TravB) Choice5.<A, B, C, D, F>b(b)).coerce(),

src/main/java/com/jnape/palatable/lambda/adt/choice/Choice6.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,7 @@ public <G> Choice6<A, B, C, D, E, G> flatMap(Fn1<? super F, ? extends Monad<G, C
161161
@Override
162162
@SuppressWarnings("unchecked")
163163
public <G, App extends Applicative<?, App>, TravB extends Traversable<G, Choice6<A, B, C, D, E, ?>>,
164-
AppB extends Applicative<G, App>,
165-
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super F, ? extends AppB> fn,
164+
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super F, ? extends Applicative<G, App>> fn,
166165
Fn1<? super TravB, ? extends AppTrav> pure) {
167166
return match(a -> pure.apply((TravB) Choice6.<A, B, C, D, E, G>a(a)).coerce(),
168167
b -> pure.apply((TravB) Choice6.<A, B, C, D, E, G>b(b)).coerce(),

src/main/java/com/jnape/palatable/lambda/adt/choice/Choice7.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,7 @@ public <H> Choice7<A, B, C, D, E, F, H> flatMap(
163163
@Override
164164
@SuppressWarnings("unchecked")
165165
public <H, App extends Applicative<?, App>, TravB extends Traversable<H, Choice7<A, B, C, D, E, F, ?>>,
166-
AppB extends Applicative<H, App>,
167-
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super G, ? extends AppB> fn,
166+
AppTrav extends Applicative<TravB, App>> AppTrav traverse(Fn1<? super G, ? extends Applicative<H, App>> fn,
168167
Fn1<? super TravB, ? extends AppTrav> pure) {
169168
return match(a -> pure.apply((TravB) Choice7.<A, B, C, D, E, F, H>a(a)).coerce(),
170169
b -> pure.apply((TravB) Choice7.<A, B, C, D, E, F, H>b(b)).coerce(),

0 commit comments

Comments
 (0)