Uses of Package
fj.data.optic

Packages that use fj.data.optic
Package
Description
Types that set the premise for the existence of Functional Java.
Common algebraic data types.
Optic data types adapted from the Scala Monocle library and inspired by the Haskell Lens library.
  • Classes in fj.data.optic used by fj
    Class
    Description
    PLens with a monomorphic set function
    A PLens can be seen as a pair of functions: get: S => A i.e. from an S, we can extract an A set: (B, S) => T i.e. if we replace an A by a B in an S, we obtain a T
  • Classes in fj.data.optic used by fj.data
    Class
    Description
    POptional restricted to monomorphic update
    A PPrism can be seen as a pair of functions: getOrModify: S => T \/ A reverseGet : B => T
    PPrism restricted to monomorphic update
    A PTraversal can be seen as a POptional generalised to 0 to n targets where n can be infinite.
     
  • Classes in fj.data.optic used by fj.data.optic
    Class
    Description
    A Fold can be seen as a Getter with many targets or a weaker PTraversal which cannot modify its target.
    A Getter can be seen as a glorified get method between a type S and a type A.
    PIso when S = T and A = B
    PLens with a monomorphic set function
    POptional restricted to monomorphic update
    A PIso defines an isomorphism between types S, A and B, T:
    A PLens can be seen as a pair of functions: get: S => A i.e. from an S, we can extract an A set: (B, S) => T i.e. if we replace an A by a B in an S, we obtain a T
    A POptional can be seen as a pair of functions: getOrModify: S => T \/ A set : (B, S) => T
    A PPrism can be seen as a pair of functions: getOrModify: S => T \/ A reverseGet : B => T
    PPrism restricted to monomorphic update
    A PSetter is a generalisation of Functor map: map: (A => B) => F[A] => F[B] modify: (A => B) => S => T
    A PTraversal can be seen as a POptional generalised to 0 to n targets where n can be infinite.
    PSetter with a monomorphic modify function