optics-0.4.2.1: Optics as an abstract interface
This package makes it possible to define and use Lenses, Traversals, Prisms and other optics, using an abstract interface. See the main module Optics for the documentation.
This is the "batteries-included" variant with many dependencies; see the
optics-core package and
other optics-* dependencies if you need a more limited dependency footprint.
Modules
- Data
- ByteString
- Either
- Data.Either.Optics
Prisms for theEitherdatatype.
- Data.Either.Optics
- HashMap
- Data.HashMap.Optics Optics for working with
HashMaps.
- Data.HashMap.Optics Optics for working with
- HashSet
- Data.HashSet.Optics Optics for working with
HashSets.
- Data.HashSet.Optics Optics for working with
- IntMap
- IntSet
- Data.IntSet.Optics Optics for working with
IntSets.
- 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
Maps.
- Data.Map.Optics Optics for working with
- Maybe
- Data.Maybe.Optics
Prisms for theMaybedatatype.
- Data.Maybe.Optics
- Sequence
- Data.Sequence.Optics Optics for working with
Seqs.
- Data.Sequence.Optics Optics for working with
- Set
- Data.Set.Optics Optics for working with
Sets.
- Data.Set.Optics Optics for working with
- Text
- Lazy
- Data.Text.Lazy.Optics Optics for working with lazy
Text.
- Data.Text.Lazy.Optics Optics for working with lazy
- Data.Text.Optics Optics for working with strict or lazy
Text. - Strict
- Data.Text.Strict.Optics Optics for working with strict
Text.
- Data.Text.Strict.Optics Optics for working with strict
- Lazy
- Tree
- Data.Tree.Optics Optics for working with
Trees.
- Data.Tree.Optics Optics for working with
- Tuple
- Data.Tuple.Optics
Lenses for tuple types.
- Data.Tuple.Optics
- Typeable
- Data.Typeable.Optics Optics for working with
Typeable.
- Data.Typeable.Optics Optics for working with
- Vector
- GHC
- Generics
- GHC.Generics.Optics Optics for types defined in GHC.Generics.
- Generics
- Numeric
- Numeric.Optics Optics for working with numeric types.
- Optics The main module, usually you only need to import this one.
- Optics.AffineFold A
Foldthat contains at most one element. - Optics.AffineTraversal A
Traversalthat applies to at most one element. - Optics.Arrow Turn optics into arrow transformers.
- Optics.At Optics for
MapandSet-like containers. - Optics.Coerce Operators to
coercethe type parameters ofOptic. - Optics.Cons Optics to access the left or right element of a container.
- Optics.Each An
IxTraversalforeachelement of a (potentially monomorphic) container. - Optics.Empty A
Prismfor a type that may be_Empty. - Optics.Fold Extracts elements from a container.
- Optics.Generic Data access via the
Generictype class. - Optics.Getter A function considered as an
Optic. - Optics.Indexed Definitions of indexed optics.
- 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
Functorsmap. - 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.Passthrough
- Optics.Prism A generalised or first-class constructor.
- Optics.Re The
reoperator 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.State
Setterutilities for working withMonadState.- Optics.State.Operators Infix operators for state-modifying optics.
- Optics.TH
- Optics.Traversal Lifts an effectful operation on elements to act on structures.
- Optics.View
- Optics.Zoom
- Optics.AffineFold A