Type synonym for a type-modifying indexed affine traversal.
Moduleoptics-core-0.4.1.1Haskell2010
Optics.IxAffineTraversal
An IxAffineTraversal is an indexed version of an
AffineTraversal. See the "Indexed optics" section
of the overview documentation in the Optics module of the main optics
package for more details on indexed optics.
- 5 types
- 5 values
- Packageoptics-core-0.4.1.1
- Exports10
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceIxAffineTraversal.hs
Formation
2 declarationsType synonym for a type-preserving indexed affine traversal.
Introduction
1 declarationBuild an indexed affine traversal from a matcher and an updater.
If you want to build an IxAffineTraversal from the van Laarhoven representation, use iatraversalVL.
Elimination
0 declarationsAn IxAffineTraversal is in particular an IxAffineFold and an IxSetter, therefore you can specialise types to obtain:
ipreview :: IxAffineTraversal i s t a b -> s -> Maybe (i, a)
iover :: IxAffineTraversal i s t a b -> (i -> a -> b) -> s -> t
iset :: IxAffineTraversal i s t a b -> (i -> b) -> s -> t
Combinators
1 declarationObtain a potentially empty IxAffineTraversal by taking the element from another AffineFold and using it as an index.
- Note: This is not a legal IxTraversal, unless you are very careful not to invalidate the predicate on the target (see unsafeFiltered for more details).
Additional introduction forms
1 declarationThis is the trivial empty IxAffineTraversal, i.e. the optic that targets no substructures.
This is the identity element when a Fold, AffineFold, IxFold, IxAffineFold, Traversal or IxTraversal is viewed as a monoid.
6 & ignored %~ absurd6
Subtyping
1 declarationTag for an affine traversal.
Instances30Is, ArrowOptic, JoinKinds, IxOptic, ToReadOnly, ReadOnlyOptic, …
Is A_Lens An_AffineTraversalDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.SubtypingIs A_Prism An_AffineTraversalDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.SubtypingIs An_AffineTraversal A_FoldDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.SubtypingIs An_AffineTraversal A_SetterDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.SubtypingIs An_AffineTraversal A_TraversalDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.SubtypingIs An_AffineTraversal An_AffineFoldDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.SubtypingIs An_Iso An_AffineTraversalDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.SubtypingArrowChoice arr => ArrowOptic An_AffineTraversal arrDefined in optics-core-0.4.1.1 · Optics.Arrowk ~ A_Fold => JoinKinds A_Fold An_AffineTraversal kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_Fold => JoinKinds An_AffineTraversal A_Fold kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_Setter => JoinKinds A_Setter An_AffineTraversal kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_Setter => JoinKinds An_AffineTraversal A_Setter kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_Traversal => JoinKinds A_Traversal An_AffineTraversal kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_Traversal => JoinKinds An_AffineTraversal A_Traversal kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineFold => JoinKinds A_Getter An_AffineTraversal kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineFold => JoinKinds A_ReversedPrism An_AffineTraversal kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineFold => JoinKinds An_AffineFold An_AffineTraversal kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineFold => JoinKinds An_AffineTraversal A_Getter kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineFold => JoinKinds An_AffineTraversal A_ReversedPrism kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineFold => JoinKinds An_AffineTraversal An_AffineFold kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineTraversal => JoinKinds A_Lens An_AffineTraversal kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineTraversal => JoinKinds A_Prism An_AffineTraversal kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineTraversal => JoinKinds An_AffineTraversal A_Lens kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineTraversal => JoinKinds An_AffineTraversal A_Prism kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineTraversal => JoinKinds An_AffineTraversal An_AffineTraversal kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineTraversal => JoinKinds An_AffineTraversal An_Iso kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineTraversal => JoinKinds An_Iso An_AffineTraversal kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.SubtypingIxOptic An_AffineTraversal s t a bDefined in optics-core-0.4.1.1 · Optics.Indexed.CoreToReadOnly An_AffineTraversal s t a bDefined in optics-core-0.4.1.1 · Optics.ReadOnlytype ReadOnlyOptic An_AffineTraversal = An_AffineFoldDefined in optics-core-0.4.1.1 · Optics.ReadOnly
van Laarhoven encoding
4 declarationstype IxAffineTraversalVL i s t a b = forall (f :: Type -> Type). Functor f => (forall r. r -> f r) -> (i -> a -> f b) -> s -> f tType synonym for a type-modifying van Laarhoven indexed affine traversal.
Note: this isn't exactly van Laarhoven representation as there is no
Pointed class (which would be a superclass of Applicative that contains
pure but not <*>). You can interpret the first argument as a dictionary
of Pointed that supplies the point function (i.e. the implementation of
pure).
Type synonym for a type-preserving van Laarhoven indexed affine traversal.
Build an indexed affine traversal from the van Laarhoven representation.
Traverse over the target of an IxAffineTraversal and compute a Functor-based answer.