Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module defines the Each
class, which provides an IxTraversal
that
extracts each
element of a (potentially monomorphic) container.
Note that orphan instances for this class are defined in the Optics.Each
module from optics-extra
, so if you are not simply depending on optics
you may wish to import that module instead.
Synopsis
- class Each i s t a b | s -> i a, t -> i b, s b -> t, t a -> s where
- each :: IxTraversal i s t a b
Each
class Each i s t a b | s -> i a, t -> i b, s b -> t, t a -> s where Source #
Extract each
element of a (potentially monomorphic) container.
>>>
over each (*10) (1,2,3)
(10,20,30)
>>>
iover each (\i a -> a*10 + succ i) (1,2,3)
(11,22,33)
Nothing
each :: IxTraversal i s t a b Source #
default each :: (TraversableWithIndex i g, s ~ g a, t ~ g b) => IxTraversal i s t a b Source #
Instances
Each Int [a] [b] a b Source # |
|
Defined in Optics.Each.Core each :: IxTraversal Int [a] [b] a b Source # | |
Each Int (NonEmpty a) (NonEmpty b) a b Source # |
|
Defined in Optics.Each.Core | |
Each Int (IntMap a) (IntMap b) a b Source # |
|
Defined in Optics.Each.Core | |
Each Int (Seq a) (Seq b) a b Source # |
|
Defined in Optics.Each.Core | |
Each () (Maybe a) (Maybe b) a b Source # |
|
Defined in Optics.Each.Core | |
Each () (Identity a) (Identity b) a b Source # |
|
Defined in Optics.Each.Core | |
(a ~ a1, b ~ b1) => Each Int (a, a1) (b, b1) a b Source # |
|
Defined in Optics.Each.Core each :: IxTraversal Int (a, a1) (b, b1) a b Source # | |
(Ix i, i ~ j) => Each i (Array i a) (Array j b) a b Source # |
|
Defined in Optics.Each.Core | |
k ~ k' => Each k (Map k a) (Map k' b) a b Source # |
|
Defined in Optics.Each.Core | |
(a ~ a1, a ~ a2, b ~ b1, b ~ b2) => Each Int (a, a1, a2) (b, b1, b2) a b Source # |
|
Defined in Optics.Each.Core each :: IxTraversal Int (a, a1, a2) (b, b1, b2) a b Source # | |
(a ~ a1, a ~ a2, a ~ a3, b ~ b1, b ~ b2, b ~ b3) => Each Int (a, a1, a2, a3) (b, b1, b2, b3) a b Source # |
|
Defined in Optics.Each.Core each :: IxTraversal Int (a, a1, a2, a3) (b, b1, b2, b3) a b Source # | |
(a ~ a1, a ~ a2, a ~ a3, a ~ a4, b ~ b1, b ~ b2, b ~ b3, b ~ b4) => Each Int (a, a1, a2, a3, a4) (b, b1, b2, b3, b4) a b Source # |
|
Defined in Optics.Each.Core each :: IxTraversal Int (a, a1, a2, a3, a4) (b, b1, b2, b3, b4) a b Source # | |
(a ~ a1, a ~ a2, a ~ a3, a ~ a4, a ~ a5, b ~ b1, b ~ b2, b ~ b3, b ~ b4, b ~ b5) => Each Int (a, a1, a2, a3, a4, a5) (b, b1, b2, b3, b4, b5) a b Source # |
|
Defined in Optics.Each.Core each :: IxTraversal Int (a, a1, a2, a3, a4, a5) (b, b1, b2, b3, b4, b5) a b Source # | |
(a ~ a1, a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, b ~ b1, b ~ b2, b ~ b3, b ~ b4, b ~ b5, b ~ b6) => Each Int (a, a1, a2, a3, a4, a5, a6) (b, b1, b2, b3, b4, b5, b6) a b Source # |
|
Defined in Optics.Each.Core each :: IxTraversal Int (a, a1, a2, a3, a4, a5, a6) (b, b1, b2, b3, b4, b5, b6) a b Source # | |
(a ~ a1, a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7, b ~ b1, b ~ b2, b ~ b3, b ~ b4, b ~ b5, b ~ b6, b ~ b7) => Each Int (a, a1, a2, a3, a4, a5, a6, a7) (b, b1, b2, b3, b4, b5, b6, b7) a b Source # |
|
Defined in Optics.Each.Core each :: IxTraversal Int (a, a1, a2, a3, a4, a5, a6, a7) (b, b1, b2, b3, b4, b5, b6, b7) a b Source # | |
(a ~ a1, a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7, a ~ a8, b ~ b1, b ~ b2, b ~ b3, b ~ b4, b ~ b5, b ~ b6, b ~ b7, b ~ b8) => Each Int (a, a1, a2, a3, a4, a5, a6, a7, a8) (b, b1, b2, b3, b4, b5, b6, b7, b8) a b Source # |
|
Defined in Optics.Each.Core each :: IxTraversal Int (a, a1, a2, a3, a4, a5, a6, a7, a8) (b, b1, b2, b3, b4, b5, b6, b7, b8) a b Source # | |
(a ~ a1, a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7, a ~ a8, a ~ a9, b ~ b1, b ~ b2, b ~ b3, b ~ b4, b ~ b5, b ~ b6, b ~ b7, b ~ b8, b ~ b9) => Each Int (a, a1, a2, a3, a4, a5, a6, a7, a8, a9) (b, b1, b2, b3, b4, b5, b6, b7, b8, b9) a b Source # |
|
Defined in Optics.Each.Core each :: IxTraversal Int (a, a1, a2, a3, a4, a5, a6, a7, a8, a9) (b, b1, b2, b3, b4, b5, b6, b7, b8, b9) a b Source # | |
Each [Int] (Tree a) (Tree b) a b Source # |
|
Defined in Optics.Each.Core | |
Each (Either () ()) (Complex a) (Complex b) a b Source # |
|
Defined in Optics.Each.Core | |
(a ~ a', b ~ b') => Each (Either () ()) (Either a a') (Either b b') a b Source # |
|
Defined in Optics.Each.Core |