Copyright | (C) 2012-16 Edward Kmett |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Stability | experimental |
Portability | non-portable |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
Each
class Each s t a b | s -> a, t -> b, s b -> t, t a -> s where Source #
Extract
each
element of a (potentially monomorphic) container.
Notably, when applied to a tuple, this generalizes
both
to arbitrary homogeneous tuples.
>>>
(1,2,3) & each *~ 10
(10,20,30)
It can also be used on monomorphic containers like
Text
or
ByteString
.
>>>
over each Char.toUpper ("hello"^.Text.packed)
"HELLO"
>>>
("hello","world") & each.each %~ Char.toUpper
("HELLO","WORLD")
Nothing
each :: Traversal s t a b Source #
default each :: ( Traversable g, s ~ g a, t ~ g b) => Traversal s t a b Source #
Instances
(a ~ Word8 , b ~ Word8 ) => Each ByteString ByteString a b Source # |
|
Defined in Control.Lens.Each each :: Traversal ByteString ByteString a b Source # |
|
(a ~ Word8 , b ~ Word8 ) => Each ByteString ByteString a b Source # |
|
Defined in Control.Lens.Each each :: Traversal ByteString ByteString a b Source # |
|
(a ~ Char , b ~ Char ) => Each Text Text a b Source # |
|
(a ~ Char , b ~ Char ) => Each Text Text a b Source # |
|
Each [a] [b] a b Source # |
|
Defined in Control.Lens.Each |
|
Each ( Maybe a) ( Maybe b) a b Source # |
|
Each ( Complex a) ( Complex b) a b Source # |
|
Each ( Identity a) ( Identity b) a b Source # |
|
Each ( NonEmpty a) ( NonEmpty b) a b Source # |
|
Each ( IntMap a) ( IntMap b) a b Source # |
|
Each ( Tree a) ( Tree b) a b Source # |
|
Each ( Seq a) ( Seq b) a b Source # |
|
Each ( Maybe a) ( Maybe b) a b Source # |
Since: 4.20 |
( Unbox a, Unbox b) => Each ( Vector a) ( Vector b) a b Source # |
|
( Storable a, Storable b) => Each ( Vector a) ( Vector b) a b Source # |
|
( Prim a, Prim b) => Each ( Vector a) ( Vector b) a b Source # |
|
Each ( Vector a) ( Vector b) a b Source # |
|
(a ~ a', b ~ b') => Each ( Either a a') ( Either b b') a b Source # |
Since: 4.18 |
(a ~ a', b ~ b') => Each (a, a') (b, b') a b Source # |
|
Defined in Control.Lens.Each |
|
( Ix i, IArray UArray a, IArray UArray b, i ~ j) => Each ( UArray i a) ( UArray j b) a b Source # |
|
( Ix i, i ~ j) => Each ( Array i a) ( Array j b) a b Source # |
|
c ~ d => Each ( Map c a) ( Map d b) a b Source # |
|
(a ~ a', b ~ b') => Each ( Pair a a') ( Pair b b') a b Source # |
Since: 4.20 |
(a ~ a', b ~ b') => Each ( These a a') ( These b b') a b Source # |
Since: 4.20 |
(a ~ a', b ~ b') => Each ( Either a a') ( Either b b') a b Source # |
Since: 4.20 |
(a ~ a', b ~ b') => Each ( These a a') ( These b b') a b Source # |
Since: 4.20 |
c ~ d => Each ( HashMap c a) ( HashMap d b) a b Source # |
|
(a ~ a2, a ~ a3, b ~ b2, b ~ b3) => Each (a, a2, a3) (b, b2, b3) a b Source # |
|
Defined in Control.Lens.Each |
|
(a ~ a2, a ~ a3, a ~ a4, b ~ b2, b ~ b3, b ~ b4) => Each (a, a2, a3, a4) (b, b2, b3, b4) a b Source # |
|
Defined in Control.Lens.Each |
|
(a ~ a2, a ~ a3, a ~ a4, a ~ a5, b ~ b2, b ~ b3, b ~ b4, b ~ b5) => Each (a, a2, a3, a4, a5) (b, b2, b3, b4, b5) a b Source # |
|
Defined in Control.Lens.Each |
|
(a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, b ~ b2, b ~ b3, b ~ b4, b ~ b5, b ~ b6) => Each (a, a2, a3, a4, a5, a6) (b, b2, b3, b4, b5, b6) a b Source # |
|
Defined in Control.Lens.Each |
|
(a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7, b ~ b2, b ~ b3, b ~ b4, b ~ b5, b ~ b6, b ~ b7) => Each (a, a2, a3, a4, a5, a6, a7) (b, b2, b3, b4, b5, b6, b7) a b Source # |
|
Defined in Control.Lens.Each |
|
(a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7, a ~ a8, b ~ b2, b ~ b3, b ~ b4, b ~ b5, b ~ b6, b ~ b7, b ~ b8) => Each (a, a2, a3, a4, a5, a6, a7, a8) (b, b2, b3, b4, b5, b6, b7, b8) a b Source # |
|
Defined in Control.Lens.Each |
|
(a ~ a2, a ~ a3, a ~ a4, a ~ a5, a ~ a6, a ~ a7, a ~ a8, a ~ a9, b ~ b2, b ~ b3, b ~ b4, b ~ b5, b ~ b6, b ~ b7, b ~ b8, b ~ b9) => Each (a, a2, a3, a4, a5, a6, a7, a8, a9) (b, b2, b3, b4, b5, b6, b7, b8, b9) a b Source # |
|
Defined in Control.Lens.Each |