optics-core-0.4.1.1: Optics as an abstract interface: core definitions
This package makes it possible to define and use Lenses, Traversals, Prisms and other optics, using an abstract interface.
This variant provides core definitions with a minimal dependency footprint.
See the optics
package (and its
dependencies) for documentation and the "batteries-included" variant.
- Data
- Either
- Data.Either.Optics
Prism
s for theEither
datatype.
- Data.Either.Optics
- IntMap
- IntSet
- Data.IntSet.Optics Optics for working with
IntSet
s.
- Data.IntSet.Optics Optics for working with
- List
- Data.List.Optics Traversals for manipulating parts of a list.
- Map
- Data.Map.Optics Optics for working with
Map
s.
- Data.Map.Optics Optics for working with
- Maybe
- Data.Maybe.Optics
Prism
s for theMaybe
datatype.
- Data.Maybe.Optics
- Sequence
- Data.Sequence.Optics Optics for working with
Seq
s.
- Data.Sequence.Optics Optics for working with
- Set
- Data.Set.Optics Optics for working with
Set
s.
- Data.Set.Optics Optics for working with
- Tree
- Data.Tree.Optics Optics for working with
Tree
s.
- Data.Tree.Optics Optics for working with
- Tuple
- Data.Tuple.Optics
Lens
es for tuple types.
- Data.Tuple.Optics
- Typeable
- Data.Typeable.Optics Optics for working with
Typeable
.
- Data.Typeable.Optics Optics for working with
- Either
- GHC
- Generics
- GHC.Generics.Optics Optics for types defined in GHC.Generics.
- Generics
- Numeric
- Numeric.Optics Optics for working with numeric types.
- Optics
- Optics.AffineFold A
Fold
that contains at most one element. - Optics.AffineTraversal A
Traversal
that applies to at most one element. - Optics.Arrow Turn optics into arrow transformers.
- At
- Optics.At.Core Optics for
Map
andSet
-like containers.
- Optics.At.Core Optics for
- Optics.Coerce Operators to
coerce
the type parameters ofOptic
. - Cons
- Optics.Cons.Core Optics to access the left or right element of a container.
- Optics.Core The core optics functionality re-exported.
- Each
- Optics.Each.Core An
IxTraversal
for each element of a (potentially monomorphic) container.
- Optics.Each.Core An
- Empty
- Optics.Empty.Core A
Prism
for a type that may be_Empty
.
- Optics.Empty.Core A
- Optics.Fold Extracts elements from a container.
- Optics.Generic Data access via the
Generic
type class. - Optics.Getter A function considered as an
Optic
. - Indexed
- Optics.Indexed.Core Core definitions for indexed optics.
- Internal
- Optics.Iso Translates between types with the same structure.
- Optics.IxAffineFold An indexed version of an
AffineFold
. - Optics.IxAffineTraversal An indexed version of an
AffineTraversal
. - Optics.IxFold An indexed version of a
Fold
. - Optics.IxGetter An indexed version of a
Getter
. - Optics.IxLens An indexed version of a
Lens
. - Optics.IxSetter An indexed version of a
Setter
. - Optics.IxTraversal An indexed version of a
Traversal
. - Optics.Label Overloaded labels as optics.
- Optics.Lens A generalised or first-class field.
- Optics.Mapping Lifting optics using
Functor
smap
. - Optics.Operators Definitions of infix operators for optics.
- Optics.Operators.Unsafe Definitions of unsafe infix operators for optics.
- Optics.Optic Common abstraction for all kinds of optics.
- Optics.Prism A generalised or first-class constructor.
- Optics.Re The
re
operator allows some optics to be reversed. - Optics.ReadOnly Converting read-write optics into their read-only counterparts.
- Optics.ReversedLens A backwards
Lens
. - Optics.ReversedPrism A backwards
Prism
. - Optics.Review A backwards
Getter
, i.e. a function. - Optics.Setter Applies an update to all contained values.
- Optics.Traversal Lifts an effectful operation on elements to act on structures.
- Optics.AffineFold A