Interface Cocartesian<A,B,P extends Cocartesian<?,?,P>>
-
- Type Parameters:
A
- the type of the left parameterB
- the type of the left parameterP
- the unification parameter
- All Superinterfaces:
Contravariant<A,Profunctor<?,B,P>>
,Profunctor<A,B,P>
- All Known Subinterfaces:
BiMonoidFactory<A,B,C>
,BiPredicate<A,B>
,BiSemigroupFactory<A,B,C>
,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>
,Kleisli<A,B,M,MB>
,Monoid<A>
,MonoidFactory<A,B>
,Predicate<A>
,Semigroup<A>
,SemigroupFactory<A,B>
- 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
,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
,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
public interface Cocartesian<A,B,P extends Cocartesian<?,?,P>> extends Profunctor<A,B,P>
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default Cocartesian<A,Choice2<A,B>,P>
choose()
Choose between the covariantly-positioned carrier type and the contravariantly-positioned carrier type.<C> Cocartesian<Choice2<C,A>,Choice2<C,B>,P>
cocartesian()
Choose some typeC
or this profunctor's carrier types.default <Z> Cocartesian<Z,B,P>
contraMap(Fn1<? super Z,? extends A> fn)
Contravariantly mapA <- B
.<Z,C>
Cocartesian<Z,C,P>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> Cocartesian<Z,B,P>
diMapL(Fn1<? super Z,? extends A> fn)
Contravariantly map over the left parameter.default <C> Cocartesian<A,C,P>
diMapR(Fn1<? super B,? extends C> fn)
Covariantly map over the right parameter.
-
-
-
Method Detail
-
cocartesian
<C> Cocartesian<Choice2<C,A>,Choice2<C,B>,P> cocartesian()
Choose some typeC
or this profunctor's carrier types.- Type Parameters:
C
- the choice type- Returns:
- the cocartesian-costrengthened profunctor
-
choose
default Cocartesian<A,Choice2<A,B>,P> choose()
Choose between the covariantly-positioned carrier type and the contravariantly-positioned carrier type. This can be used to encode partial functionsa -> (_|_ v b)
as total functionsa -> (a v b)
.- Returns:
- the profunctor with a choice
-
diMap
<Z,C> Cocartesian<Z,C,P> 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)
.- Specified by:
diMap
in interfaceProfunctor<A,B,P extends Cocartesian<?,?,P>>
- 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> Cocartesian<Z,B,P> diMapL(Fn1<? super Z,? extends A> fn)
Contravariantly map over the left parameter.- Specified by:
diMapL
in interfaceProfunctor<A,B,P extends Cocartesian<?,?,P>>
- 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> Cocartesian<A,C,P> 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)
.- Specified by:
diMapR
in interfaceProfunctor<A,B,P extends Cocartesian<?,?,P>>
- 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> Cocartesian<Z,B,P> contraMap(Fn1<? super Z,? extends A> fn)
Contravariantly mapA <- B
.- Specified by:
contraMap
in interfaceContravariant<A,B>
- Specified by:
contraMap
in interfaceProfunctor<A,B,P extends Cocartesian<?,?,P>>
- Type Parameters:
Z
- the new parameter type- Parameters:
fn
- the mapping function- Returns:
- the mapped Contravariant functor instance
-
-