Skip to content

Commit 141352b

Browse files
committed
#142: Renamed comap to contramap
1 parent 03ca8c1 commit 141352b

File tree

21 files changed

+95
-103
lines changed

21 files changed

+95
-103
lines changed

core/src/main/java/fj/Effect.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public static <A, B, C, D, E> F5<A, B, C, D, E, Unit> f(Effect5<A, B, C, D, E> z
9595
* @param f The function to map over the effect.
9696
* @return An effect after a contra-variant map.
9797
*/
98-
public static final <A, B> Effect1<B> comap(Effect1<A> e1, final F<B, A> f) {
98+
public static final <A, B> Effect1<B> contramap(Effect1<A> e1, final F<B, A> f) {
9999
return b -> e1.f(f.f(b));
100100
}
101101

core/src/main/java/fj/Equal.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public F<A, Boolean> eq(final A a) {
7474
* @param f The function to map.
7575
* @return A new equal.
7676
*/
77-
public <B> Equal<B> comap(final F<B, A> f) {
77+
public <B> Equal<B> contramap(final F<B, A> f) {
7878
return equal(F1Functions.o(F1Functions.o(F1Functions.<B, A, Boolean>andThen(f), this.f), f));
7979
}
8080

@@ -202,7 +202,7 @@ public static <A, B> Equal<Either<A, B>> eitherEqual(final Equal<A> ea, final Eq
202202
* @return An equal instance for the {@link Validation} type.
203203
*/
204204
public static <A, B> Equal<Validation<A, B>> validationEqual(final Equal<A> ea, final Equal<B> eb) {
205-
return eitherEqual(ea, eb).comap(Validation.<A, B>either());
205+
return eitherEqual(ea, eb).contramap(Validation.<A, B>either());
206206
}
207207

208208
/**
@@ -235,7 +235,7 @@ public static <A> Equal<List<A>> listEqual(final Equal<A> ea) {
235235
* @return An equal instance for the {@link NonEmptyList} type.
236236
*/
237237
public static <A> Equal<NonEmptyList<A>> nonEmptyListEqual(final Equal<A> ea) {
238-
return listEqual(ea).comap(NonEmptyList.<A>toList_());
238+
return listEqual(ea).contramap(NonEmptyList.<A>toList_());
239239
}
240240

241241
/**
@@ -443,7 +443,7 @@ public static <A, B, C, D, E> Equal<P5<A, B, C, D, E>> p5Equal(final Equal<A> ea
443443
* @return An equal instance for a vector-2.
444444
*/
445445
public static <A> Equal<V2<A>> v2Equal(final Equal<A> ea) {
446-
return streamEqual(ea).comap(V2.<A>toStream_());
446+
return streamEqual(ea).contramap(V2.<A>toStream_());
447447
}
448448

449449
/**
@@ -453,7 +453,7 @@ public static <A> Equal<V2<A>> v2Equal(final Equal<A> ea) {
453453
* @return An equal instance for a vector-3.
454454
*/
455455
public static <A> Equal<V3<A>> v3Equal(final Equal<A> ea) {
456-
return streamEqual(ea).comap(V3.<A>toStream_());
456+
return streamEqual(ea).contramap(V3.<A>toStream_());
457457
}
458458

459459
/**
@@ -463,7 +463,7 @@ public static <A> Equal<V3<A>> v3Equal(final Equal<A> ea) {
463463
* @return An equal instance for a vector-4.
464464
*/
465465
public static <A> Equal<V4<A>> v4Equal(final Equal<A> ea) {
466-
return streamEqual(ea).comap(V4.<A>toStream_());
466+
return streamEqual(ea).contramap(V4.<A>toStream_());
467467
}
468468

469469
/**
@@ -473,7 +473,7 @@ public static <A> Equal<V4<A>> v4Equal(final Equal<A> ea) {
473473
* @return An equal instance for a vector-5.
474474
*/
475475
public static <A> Equal<V5<A>> v5Equal(final Equal<A> ea) {
476-
return streamEqual(ea).comap(V5.<A>toStream_());
476+
return streamEqual(ea).contramap(V5.<A>toStream_());
477477
}
478478

479479
/**
@@ -483,7 +483,7 @@ public static <A> Equal<V5<A>> v5Equal(final Equal<A> ea) {
483483
* @return An equal instance for a vector-6.
484484
*/
485485
public static <A> Equal<V6<A>> v6Equal(final Equal<A> ea) {
486-
return streamEqual(ea).comap(V6.<A>toStream_());
486+
return streamEqual(ea).contramap(V6.<A>toStream_());
487487
}
488488

489489
/**
@@ -493,7 +493,7 @@ public static <A> Equal<V6<A>> v6Equal(final Equal<A> ea) {
493493
* @return An equal instance for a vector-7.
494494
*/
495495
public static <A> Equal<V7<A>> v7Equal(final Equal<A> ea) {
496-
return streamEqual(ea).comap(V7.<A>toStream_());
496+
return streamEqual(ea).contramap(V7.<A>toStream_());
497497
}
498498

499499
/**
@@ -503,13 +503,13 @@ public static <A> Equal<V7<A>> v7Equal(final Equal<A> ea) {
503503
* @return An equal instance for a vector-8.
504504
*/
505505
public static <A> Equal<V8<A>> v8Equal(final Equal<A> ea) {
506-
return streamEqual(ea).comap(V8.<A>toStream_());
506+
return streamEqual(ea).contramap(V8.<A>toStream_());
507507
}
508508

509509
/**
510510
* An equal instance for lazy strings.
511511
*/
512-
public static final Equal<LazyString> eq = streamEqual(charEqual).comap(LazyString.toStream);
512+
public static final Equal<LazyString> eq = streamEqual(charEqual).contramap(LazyString.toStream);
513513

514514
/**
515515
* An equal instance for the empty heterogeneous list.

core/src/main/java/fj/F1Functions.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import fj.control.parallel.Promise;
55
import fj.control.parallel.Strategy;
66
import fj.data.*;
7-
import fj.function.Try1;
87

98
import java.util.ArrayList;
109
import java.util.LinkedList;
@@ -224,12 +223,12 @@ static public <A, B> F<Array<A>, Array<B>> mapArray(final F<A, B> f) {
224223
}
225224

226225
/**
227-
* Returns a function that comaps over a given actor.
226+
* Returns a function that contramaps over a given actor.
228227
*
229-
* @return A function that comaps over a given actor.
228+
* @return A function that contramaps over a given actor.
230229
*/
231-
static public <A, B> F<Actor<B>, Actor<A>> comapActor(final F<A, B> f) {
232-
return a -> a.comap(f);
230+
static public <A, B> F<Actor<B>, Actor<A>> contramapActor(final F<A, B> f) {
231+
return a -> a.contramap(f);
233232
}
234233

235234
/**
@@ -502,26 +501,26 @@ static public <A, B> F<Zipper<A>, Zipper<B>> mapZipper(final F<A, B> f) {
502501
*
503502
* @return This function promoted to map over an Equal as a contravariant functor.
504503
*/
505-
static public <A, B> F<Equal<B>, Equal<A>> comapEqual(final F<A, B> f) {
506-
return e -> e.comap(f);
504+
static public <A, B> F<Equal<B>, Equal<A>> contramapEqual(final F<A, B> f) {
505+
return e -> e.contramap(f);
507506
}
508507

509508
/**
510509
* Promotes this function to map over a Hash as a contravariant functor.
511510
*
512511
* @return This function promoted to map over a Hash as a contravariant functor.
513512
*/
514-
static public <A, B> F<Hash<B>, Hash<A>> comapHash(final F<A, B> f) {
515-
return h -> h.comap(f);
513+
static public <A, B> F<Hash<B>, Hash<A>> contramapHash(final F<A, B> f) {
514+
return h -> h.contramap(f);
516515
}
517516

518517
/**
519518
* Promotes this function to map over a Show as a contravariant functor.
520519
*
521520
* @return This function promoted to map over a Show as a contravariant functor.
522521
*/
523-
static public <A, B> F<Show<B>, Show<A>> comapShow(final F<A, B> f) {
524-
return s -> s.comap(f);
522+
static public <A, B> F<Show<B>, Show<A>> contramapShow(final F<A, B> f) {
523+
return s -> s.contramap(f);
525524
}
526525

527526
/**

core/src/main/java/fj/F1W.java

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,6 @@
1111
import java.util.TreeSet;
1212
import java.util.concurrent.*;
1313

14-
import static fj.data.Option.some;
15-
import static fj.data.Stream.iterableStream;
16-
import static fj.data.Zipper.fromStream;
17-
1814
/**
1915
* Created by MarkPerry on 22/01/2015.
2016
*/
@@ -225,12 +221,12 @@ public F1W<Array<A>, Array<B>> mapArray() {
225221
}
226222

227223
/**
228-
* Returns a function that comaps over a given actor.
224+
* Returns a function that contramaps over a given actor.
229225
*
230-
* @return A function that comaps over a given actor.
226+
* @return A function that contramaps over a given actor.
231227
*/
232-
public F1W<Actor<B>, Actor<A>> comapActor() {
233-
return lift(F1Functions.comapActor(this));
228+
public F1W<Actor<B>, Actor<A>> contramapActor() {
229+
return lift(F1Functions.contramapActor(this));
234230
}
235231

236232
/**
@@ -501,26 +497,26 @@ public F1W<Zipper<A>, Zipper<B>> mapZipper() {
501497
*
502498
* @return This function promoted to map over an Equal as a contravariant functor.
503499
*/
504-
public F1W<Equal<B>, Equal<A>> comapEqual() {
505-
return lift(F1Functions.comapEqual(this));
500+
public F1W<Equal<B>, Equal<A>> contramapEqual() {
501+
return lift(F1Functions.contramapEqual(this));
506502
}
507503

508504
/**
509505
* Promotes this function to map over a Hash as a contravariant functor.
510506
*
511507
* @return This function promoted to map over a Hash as a contravariant functor.
512508
*/
513-
public F1W<Hash<B>, Hash<A>> comapHash() {
514-
return lift(F1Functions.comapHash(this));
509+
public F1W<Hash<B>, Hash<A>> contramapHash() {
510+
return lift(F1Functions.contramapHash(this));
515511
}
516512

517513
/**
518514
* Promotes this function to map over a Show as a contravariant functor.
519515
*
520516
* @return This function promoted to map over a Show as a contravariant functor.
521517
*/
522-
public F1W<Show<B>, Show<A>> comapShow() {
523-
return lift(F1Functions.comapShow(this));
518+
public F1W<Show<B>, Show<A>> contramapShow() {
519+
return lift(F1Functions.contramapShow(this));
524520
}
525521

526522
/**

core/src/main/java/fj/Hash.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public int hash(final A a) {
4242
* @param g The function to map.
4343
* @return A new hash.
4444
*/
45-
public <B> Hash<B> comap(final F<B, A> g) {
45+
public <B> Hash<B> contramap(final F<B, A> g) {
4646
return hash(compose(f, g));
4747
}
4848

@@ -165,7 +165,7 @@ public static <A, B> Hash<Either<A, B>> eitherHash(final Hash<A> ha, final Hash<
165165
* @return A hash instance for the {@link Validation} type.
166166
*/
167167
public static <A, B> Hash<Validation<A, B>> validationHash(final Hash<A> ha, final Hash<B> hb) {
168-
return eitherHash(ha, hb).comap(Validation.<A, B>either());
168+
return eitherHash(ha, hb).contramap(Validation.<A, B>either());
169169
}
170170

171171
/**
@@ -196,7 +196,7 @@ public static <A> Hash<List<A>> listHash(final Hash<A> ha) {
196196
* @return A hash instance for the {@link NonEmptyList} type.
197197
*/
198198
public static <A> Hash<NonEmptyList<A>> nonEmptyListHash(final Hash<A> ha) {
199-
return listHash(ha).comap(NonEmptyList.<A>toList_());
199+
return listHash(ha).contramap(NonEmptyList.<A>toList_());
200200
}
201201

202202
/**
@@ -264,7 +264,7 @@ public static <A> Hash<Array<A>> arrayHash(final Hash<A> ha) {
264264
* @return A hash instance for the {@link Tree} type.
265265
*/
266266
public static <A> Hash<Tree<A>> treeHash(final Hash<A> ha) {
267-
return streamHash(ha).comap(Tree.<A>flatten_());
267+
return streamHash(ha).contramap(Tree.<A>flatten_());
268268
}
269269

270270
public static <K, V> Hash<TreeMap<K, V>> treeMapHash(final Hash<K> h, final Hash<V> v) {
@@ -278,7 +278,7 @@ public static <K, V> Hash<TreeMap<K, V>> treeMapHash(final Hash<K> h, final Hash
278278
* @return A hash instance for a product-1.
279279
*/
280280
public static <A> Hash<P1<A>> p1Hash(final Hash<A> ha) {
281-
return ha.comap(P1.<A>__1());
281+
return ha.contramap(P1.<A>__1());
282282
}
283283

284284
/**
@@ -473,7 +473,7 @@ public static <A, B, C, D, E> Hash<P5<A, B, C, D, E>> p5Hash(final Hash<A> ha, f
473473
* @return A hash instance for a vector-2.
474474
*/
475475
public static <A> Hash<V2<A>> v2Hash(final Hash<A> ea) {
476-
return streamHash(ea).comap(V2.<A>toStream_());
476+
return streamHash(ea).contramap(V2.<A>toStream_());
477477
}
478478

479479
/**
@@ -483,7 +483,7 @@ public static <A> Hash<V2<A>> v2Hash(final Hash<A> ea) {
483483
* @return A hash instance for a vector-3.
484484
*/
485485
public static <A> Hash<V3<A>> v3Hash(final Hash<A> ea) {
486-
return streamHash(ea).comap(V3.<A>toStream_());
486+
return streamHash(ea).contramap(V3.<A>toStream_());
487487
}
488488

489489
/**
@@ -493,7 +493,7 @@ public static <A> Hash<V3<A>> v3Hash(final Hash<A> ea) {
493493
* @return A hash instance for a vector-4.
494494
*/
495495
public static <A> Hash<V4<A>> v4Hash(final Hash<A> ea) {
496-
return streamHash(ea).comap(V4.<A>toStream_());
496+
return streamHash(ea).contramap(V4.<A>toStream_());
497497
}
498498

499499
/**
@@ -503,7 +503,7 @@ public static <A> Hash<V4<A>> v4Hash(final Hash<A> ea) {
503503
* @return A hash instance for a vector-5.
504504
*/
505505
public static <A> Hash<V5<A>> v5Hash(final Hash<A> ea) {
506-
return streamHash(ea).comap(V5.<A>toStream_());
506+
return streamHash(ea).contramap(V5.<A>toStream_());
507507
}
508508

509509
/**
@@ -513,7 +513,7 @@ public static <A> Hash<V5<A>> v5Hash(final Hash<A> ea) {
513513
* @return A hash instance for a vector-6.
514514
*/
515515
public static <A> Hash<V6<A>> v6Hash(final Hash<A> ea) {
516-
return streamHash(ea).comap(V6.<A>toStream_());
516+
return streamHash(ea).contramap(V6.<A>toStream_());
517517
}
518518

519519
/**
@@ -523,7 +523,7 @@ public static <A> Hash<V6<A>> v6Hash(final Hash<A> ea) {
523523
* @return A hash instance for a vector-7.
524524
*/
525525
public static <A> Hash<V7<A>> v7Hash(final Hash<A> ea) {
526-
return streamHash(ea).comap(V7.<A>toStream_());
526+
return streamHash(ea).contramap(V7.<A>toStream_());
527527
}
528528

529529
/**
@@ -533,6 +533,6 @@ public static <A> Hash<V7<A>> v7Hash(final Hash<A> ea) {
533533
* @return A hash instance for a vector-8.
534534
*/
535535
public static <A> Hash<V8<A>> v8Hash(final Hash<A> ea) {
536-
return streamHash(ea).comap(V8.<A>toStream_());
536+
return streamHash(ea).contramap(V8.<A>toStream_());
537537
}
538538
}

core/src/main/java/fj/Ord.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public Equal<A> equal() {
7474
* @param f The function to map.
7575
* @return A new ord.
7676
*/
77-
public <B> Ord<B> comap(final F<B, A> f) {
77+
public <B> Ord<B> contramap(final F<B, A> f) {
7878
return ord(F1Functions.o(F1Functions.o(F1Functions.<B, A, Ordering>andThen(f), this.f), f));
7979
}
8080

@@ -334,7 +334,7 @@ public static <A, B> Ord<Either<A, B>> eitherOrd(final Ord<A> oa, final Ord<B> o
334334
* @return An order instance for the {@link Validation} type.
335335
*/
336336
public static <A, B> Ord<Validation<A, B>> validationOrd(final Ord<A> oa, final Ord<B> ob) {
337-
return eitherOrd(oa, ob).comap(Validation.<A, B>either());
337+
return eitherOrd(oa, ob).contramap(Validation.<A, B>either());
338338
}
339339

340340
/**
@@ -374,7 +374,7 @@ public static <A> Ord<List<A>> listOrd(final Ord<A> oa) {
374374
* @return An order instance for the {@link NonEmptyList} type.
375375
*/
376376
public static <A> Ord<NonEmptyList<A>> nonEmptyListOrd(final Ord<A> oa) {
377-
return listOrd(oa).comap(NonEmptyList.<A>toList_());
377+
return listOrd(oa).contramap(NonEmptyList.<A>toList_());
378378
}
379379

380380
/**
@@ -428,7 +428,7 @@ public static <A> Ord<Array<A>> arrayOrd(final Ord<A> oa) {
428428
* @return An order instance for the {@link Set} type.
429429
*/
430430
public static <A> Ord<Set<A>> setOrd(final Ord<A> oa) {
431-
return streamOrd(oa).comap(as -> as.toStream());
431+
return streamOrd(oa).contramap(as -> as.toStream());
432432
}
433433

434434
/**
@@ -443,7 +443,7 @@ public static <A> Ord<Set<A>> setOrd(final Ord<A> oa) {
443443
* @return An order instance for a product-1.
444444
*/
445445
public static <A> Ord<P1<A>> p1Ord(final Ord<A> oa) {
446-
return oa.comap(P1.<A>__1());
446+
return oa.contramap(P1.<A>__1());
447447
}
448448

449449

@@ -475,7 +475,7 @@ public static <A, B, C> Ord<P3<A, B, C>> p3Ord(final Ord<A> oa, final Ord<B> ob,
475475
/**
476476
* An order instance for the <code>Natural</code> type.
477477
*/
478-
public static final Ord<Natural> naturalOrd = bigintOrd.comap(Natural.bigIntegerValue);
478+
public static final Ord<Natural> naturalOrd = bigintOrd.contramap(Natural.bigIntegerValue);
479479

480480

481481
/**

0 commit comments

Comments
 (0)