optics-core-0.4.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