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
Prism
s for theEither
datatype.
- Data.Either.Optics
- HashMap
- Data.HashMap.Optics Optics for working with
HashMap
s.
- Data.HashMap.Optics Optics for working with
- HashSet
- Data.HashSet.Optics Optics for working with
HashSet
s.
- Data.HashSet.Optics Optics for working with
- 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
- 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
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
- 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
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.
- Optics.At Optics for
Map
andSet
-like containers. - Optics.Coerce Operators to
coerce
the type parameters ofOptic
. - Optics.Cons Optics to access the left or right element of a container.
- Optics.Each An
IxTraversal
foreach
element of a (potentially monomorphic) container. - Optics.Empty A
Prism
for a type that may be_Empty
. - Optics.Fold Extracts elements from a container.
- Optics.Generic Data access via the
Generic
type 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
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.Passthrough
- 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.State
Setter
utilities 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