JavaScript is disabled on your browser.
Type Parameters:
A
- the type of the left parameter
B
- the type of the left parameter
P
- 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
, 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
, Tail
, Tails
, Take
, TakeWhile
, Times
, ToArray
, ToCollection
, ToMap
, Trampoline
, Trivial
, Tupler2
, Uncons
, Under
, Unfoldr
, Union
, Until
, Upcast
, View
, Xor
, Zip
, ZipWith
public interface Cartesian<A,B,P extends Cartesian<?,?,P>>
extends Profunctor <A,B,P>
Profunctor
strength in the cartesian product sense:
p a b -> p (c ^ a) (c ^ b)
for any type
c
.
See Also:
Method Summary
All Methods Instance Methods Abstract Methods Default Methods
Pair the covariantly-positioned carrier type with the contravariantly-positioned carrier type.
Pair some type C
to this profunctor's carrier types.
Contravariantly map A <- B
.
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.
Contravariantly map over the left parameter.
Covariantly map over the right parameter.
Method Details
cartesian
Pair some type C
to this profunctor's carrier types.
Type Parameters:
C
- the paired type
Returns:
the cartesian-strengthened profunctor
carry
Pair the covariantly-positioned carrier type with the contravariantly-positioned carrier type. This can be
thought of as "carrying" or "inspecting" the left parameter.
Returns:
the profunctor with the first parameter carried
diMap
<Z,
C> Cartesian <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
to diMapL(lFn).diMapR(rFn)
.
Specified by:
diMap
in interface Profunctor <A ,B ,P extends Cartesian <?,?,P >>
Type Parameters:
Z
- the new left parameter type
C
- the new right parameter type
Parameters:
lFn
- the left parameter mapping function
rFn
- 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.
Specified by:
diMapL
in interface Profunctor <A ,B ,P extends Cartesian <?,?,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
Covariantly map over the right parameter. For all profunctors that are also functors, it should hold that
diMapR(f) == fmap(f)
.
Specified by:
diMapR
in interface Profunctor <A ,B ,P extends Cartesian <?,?,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
Contravariantly map A <- B
.
Specified by:
contraMap
in interface Contravariant <A ,B >
Specified by:
contraMap
in interface Profunctor <A ,B ,P extends Cartesian <?,?,P >>
Type Parameters:
Z
- the new parameter type
Parameters:
fn
- the mapping function
Returns:
the mapped Contravariant functor instance