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:
Functor,Bifunctor,Contravariant,Fn1,Optic
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default <Z> Profunctor<Z,B,PF>contraMap(Fn1<? super Z,? extends A> fn)Contravariantly mapA <- B.<Z,C>
Profunctor<Z,C,PF>diMap(Fn1<? super Z,? extends A> lFn, Fn1<? super B,? extends C> rFn)Dually map contravariantly over the left parameter and covariantly over the right parameter.default <Z> Profunctor<Z,B,PF>diMapL(Fn1<? super Z,? extends A> fn)Contravariantly map over the left parameter.default <C> Profunctor<A,C,PF>diMapR(Fn1<? super B,? extends C> fn)Covariantly map over the right parameter.
-
-
-
Method Detail
-
diMap
<Z,C> Profunctor<Z,C,PF> diMap(Fn1<? super Z,? extends A> lFn, Fn1<? super B,? extends C> rFn)
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
default <Z> Profunctor<Z,B,PF> diMapL(Fn1<? super Z,? extends A> fn)
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
default <C> Profunctor<A,C,PF> diMapR(Fn1<? super B,? extends C> fn)
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
default <Z> Profunctor<Z,B,PF> contraMap(Fn1<? super Z,? extends A> fn)
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
-
-