Iso is a type alias for PIso where S
= A
and T
= B
:
type Iso[S, A] = PIso[S, S, A, A]
An Iso defines an isomorphism between a type S and A:
get --------------------> S A <-------------------- reverseGet
A PIso allows to lift a function f: A => B
to S => T
and a function g: T => S
to B => A
g S T S <-------- T | ↑ | ↑ | | | | get | | reverseGet reverse.reverseGet | | reverse.get | | | | ↓ f | ↓ | A --------> B A B
A PIso is also a valid Getter, Fold, PLens, PPrism, POptional, PTraversal and PSetter
Attributes
Members list
Value members
Abstract methods
Concrete methods
view a PIso as a PTraversal
Deprecated methods
alias to composeIso
alias to composePrism
alias to composeLens
alias to composeTraversal
alias to composeOptional
compose a PIso with a PTraversal
Inherited methods
check if there is no target or the target satisfies the predicate
check if there is no target or the target satisfies the predicate
Attributes
- Definition Classes
- Inherited from:
- POptional
- Source:
- Optional.scala
compose a PTraversal with another PTraversal
compose a PTraversal with another PTraversal
Attributes
- Inherited from:
- PTraversal
- Source:
- Traversal.scala
join two Getter with the same target
combine all targets using a target's Monoid
get the target of a PLens
get all the targets of a Fold
get the target of a POptional or nothing if there is no target
get the target of a POptional or nothing if there is no target
Attributes
- Inherited from:
- PLens
- Source:
- Lens.scala
get the target of a POptional or return the original value while allowing the type to change if it does not match
get the target of a POptional or return the original value while allowing the type to change if it does not match
Attributes
- Inherited from:
- PLens
- Source:
- Lens.scala
get the first target
Attributes
- Definition Classes
- Inherited from:
- Getter
- Source:
- Getter.scala
check if there is no target
check if there is no target
Attributes
- Definition Classes
- Inherited from:
- POptional
- Source:
- Optional.scala
get the last target
calculate the number of targets
check if there is a target
check if there is a target
Attributes
- Definition Classes
- Inherited from:
- POptional
- Source:
- Optional.scala
fall-back to another POptional in case this one doesn't match
fall-back to another POptional in case this one doesn't match
Attributes
- Inherited from:
- POptional
- Source:
- Optional.scala
PTraversal.modifyA for a Parallel
applicative functor.
PTraversal.modifyA for a Parallel
applicative functor.
Attributes
- Inherited from:
- PTraversal
- Source:
- Traversal.scala
Attributes
- Inherited from:
- Product
Attributes
- Inherited from:
- Product
get the modified source of a PPrism
Attributes
- Definition Classes
- Inherited from:
- Getter
- Source:
- Getter.scala
pair two disjoint Getter
Attributes
- Inherited from:
- Getter
- Source:
- Getter.scala
Deprecated and Inherited methods
alias to replace
alias to replace
Attributes
- Deprecated
[Since version 3.0.0-M1]
- Inherited from:
- PSetter
- Source:
- Setter.scala
alias to replaceOption
alias to replaceOption
Attributes
- Deprecated
[Since version 3.0.0-M1]
- Inherited from:
- POptional
- Source:
- Optional.scala