| Fold |
A Fold can be seen as a Getter with many targets or a weaker PTraversal which cannot modify its
target.
|
| Getter |
A Getter can be seen as a glorified get method between a type S and a type A.
|
| Iso |
PIso when S = T and A = B
|
| Lens |
PLens with a monomorphic set function
|
| Optional |
|
| PIso |
A PIso defines an isomorphism between types S, A and B, T:
|
| PLens |
A PLens can be seen as a pair of functions:
get: S => A i.e.
|
| POptional |
A POptional can be seen as a pair of functions:
getOrModify: S => T \/ A
set : (B, S) => T
|
| PPrism |
A PPrism can be seen as a pair of functions:
getOrModify: S => T \/ A
reverseGet : B => T
|
| Prism |
PPrism restricted to monomorphic update
|
| PSetter |
A PSetter is a generalisation of Functor map:
map: (A => B) => F[A] => F[B]
modify: (A => B) => S => T
|
| PTraversal |
|
| Setter |
PSetter with a monomorphic modify function
|
| Traversal |
|