Interface Profunctor<A, B, PF extends Profunctor<?,?,PF>>
- Type Parameters:
A- The type of the left parameterB- The type of the right parameterPF- The unification parameter
- All Superinterfaces:
Contravariant<A, Profunctor<?,B, PF>>
- All Known Subinterfaces:
BiMonoidFactory<A,B, C>, BiPredicate<A, B>, BiSemigroupFactory<A, B, C>, Cartesian<A, B, P>, Cocartesian<A, B, P>, Effect<A>, Fn0<A>, Fn1<A, B>, Fn2<A, B, C>, Fn3<A, B, C, D>, Fn4<A, B, C, D, E>, Fn5<A, B, C, D, E, F>, Fn6<A, B, C, D, E, F, G>, Fn7<A, B, C, D, E, F, G, H>, Fn8<A, B, C, D, E, F, G, H, I>, Iso<S, T, A, B>, Iso.Simple<S, A>, Kleisli<A, B, M, MB>, Lens<S, T, A, B>, Lens.Simple<S, A>, Monoid<A>, MonoidFactory<A, B>, Predicate<A>, Prism<S, T, A, B>, Prism.Simple<S, A>, Schema<Values>, Semigroup<A>, SemigroupFactory<A, B>, TypeSafeKey<A, B>, TypeSafeKey.Simple<A>
- All Known Implementing Classes:
$, Absent, AddAll, All, Alter, And, Any, AutoBracket, Between, Both, Bracket, CartesianProduct, CatMaybes, Clamp, CmpEq, CmpEqBy, CmpEqWith, Coalesce, Collapse, Collapse, Compare, Compose, Compose, Concat, Cons, Constantly, Cycle, Difference, Distinct, Downcast, Drop, DropWhile, Empty, Endo, EndoK, Eq, Exchange, Filter, Find, First, Flatten, FoldLeft, FoldRight, Force, GroupBy, GT, GTBy, GTE, GTEBy, GTEWith, GTWith, Head, Id, IfThenElse, InGroupsOf, Init, Inits, Intersection, Intersperse, Into, Into1, Into3, Into4, Into5, Into6, Into7, Into8, Iterate, Join, Last, Last, LazyRec, LeftAll, LeftAll, LeftAny, LeftAny, LiftA2, LiftA3, LiftA4, LiftA5, LiftA6, LiftA7, LT, LTBy, LTE, LTEBy, LTEWith, LTWith, Magnetize, MagnetizeBy, Map, Market, Matching, Max, MaxBy, MaxWith, Merge, Merge, MergeHMaps, MergeMaps, Min, MinBy, MinWith, Not, Occurrences, Or, Over, Partition, Peek, Peek2, Pre, PrependAll, Present, PutAll, RateLimit, Re, ReaderT, ReduceLeft, ReduceRight, Repeat, Replicate, Reverse, RightAll, RightAll, RightAny, RightAny, RunAll, RunAll, ScanLeft, Sequence, Set, Size, Slide, Snoc, Sort, SortBy, SortWith, Span, Tagged, Tail, Tails, Take, TakeWhile, Times, ToArray, ToCollection, ToMap, Trampoline, Trivial, Tupler2, Uncons, Under, Unfoldr, Union, Until, Upcast, View, Xor, Zip, ZipWith
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface
public interface Profunctor<A, B, PF extends Profunctor<?,?,PF>>
extends Contravariant<A, Profunctor<?,B,PF>>
A dually-parametric functor that maps contravariantly over the left parameter and covariantly over the right.
For more information, read about Profunctors.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiondefault <Z> Profunctor<Z, B, PF> Contravariantly mapA <- B.<Z,C> Profunctor <Z, C, PF> Dually map contravariantly over the left parameter and covariantly over the right parameter.default <Z> Profunctor<Z, B, PF> Contravariantly map over the left parameter.default <C> Profunctor<A, C, PF> Covariantly map over the right parameter.
-
Method Details
-
diMap
Dually map contravariantly over the left parameter and covariantly over the right parameter. This is isomorphic todiMapL(lFn).diMapR(rFn).- Type Parameters:
Z- the new left parameter typeC- the new right parameter type- Parameters:
lFn- the left parameter mapping functionrFn- the right parameter mapping function- Returns:
- a profunctor over Z (the new left parameter type) and C (the new right parameter type)
-
diMapL
Contravariantly map over the left parameter.- Type Parameters:
Z- the new left parameter type- Parameters:
fn- the mapping function- Returns:
- a profunctor over Z (the new left parameter type) and C (the same right parameter type)
-
diMapR
Covariantly map over the right parameter. For all profunctors that are also functors, it should hold thatdiMapR(f) == fmap(f).- Type Parameters:
C- the new right parameter type- Parameters:
fn- the mapping function- Returns:
- a profunctor over A (the same left parameter type) and C (the new right parameter type)
-
contraMap
Contravariantly mapA <- B.- Specified by:
contraMapin interfaceContravariant<A,B> - Type Parameters:
Z- the new parameter type- Parameters:
fn- the mapping function- Returns:
- the mapped Contravariant functor instance
-