A2
- The input field type.B2
- The output field type.public static final class Prism.Instance<A2,B2> extends Object implements Cocartesian Prism<_::A2,_::B2>
Cocartesian
type class instance for Prism
.Constructor and Description |
---|
Instance() |
Modifier and Type | Method and Description |
---|---|
<A,B,C,D> (Prism<A::A2,B::B2>) -> Prism<C::A2,D::B2> |
dimap((C) -> A g,
(B) -> D h)
Takes a function from the output type
C to the input type A and a function from the input
type B to the output type D , and returns a function from a container of A, B to
a container of C, D . |
<A,B,C> Prism<(A|C)::A2,(B|C)::B2> |
left(Prism<A::A2,B::B2> input)
Converts the given transformation into one that transforms the left type of an
Either . |
<A,B,C> Prism<(C|A)::A2,(C|B)::B2> |
right(Prism<A::A2,B::B2> input)
Converts the given transformation into one that transforms the right type of an
Either . |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
toFP
dimap, dimap, lmap, rmap
public <A,B,C,D> (Prism<A::A2,B::B2>) -> Prism<C::A2,D::B2> dimap((C) -> A g, (B) -> D h)
Profunctor
C
to the input type A
and a function from the input
type B
to the output type D
, and returns a function from a container of A, B
to
a container of C, D
.
A straightforward example of an implementation of dimap
is the method Function.andThen(Function)
.
For functions, the expression
dimap(g, h).apply(f)
is equivalent to
g.andThen(f).andThen(h)
dimap
in interface Profunctor Prism<_::A2,_::B2>
A
- The first input type.B
- The second input type.C
- The first output type.D
- The second output type.g
- A function from output to input.h
- A function from input to output.Profunctor.dimap(App2, Function, Function)
public <A,B,C> Prism<(A|C)::A2,(B|C)::B2> left(Prism<A::A2,B::B2> input)
Cocartesian