optics-core-0.4: Optics as an abstract interface: core definitions
Safe HaskellNone
LanguageHaskell2010

Optics.Each.Core

Contents

Description

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

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)

Minimal complete definition

Nothing

Methods

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

Instances details
Each Int [a] [b] a b Source #
each :: IxTraversal Int [a] [b] a b
Instance details

Defined in Optics.Each.Core

Methods

each :: IxTraversal Int [a] [b] a b Source #

Each Int (NonEmpty a) (NonEmpty b) a b Source #
each :: IxTraversal Int (NonEmpty a) (NonEmpty b) a b
Instance details

Defined in Optics.Each.Core

Methods

each :: IxTraversal Int (NonEmpty a) (NonEmpty b) a b Source #

Each Int (IntMap a) (IntMap b) a b Source #
each :: IxTraversal Int (IntMap a) (IntMap b) a b
Instance details

Defined in Optics.Each.Core

Methods

each :: IxTraversal Int (IntMap a) (IntMap b) a b Source #

Each Int (Seq a) (Seq b) a b Source #
each :: IxTraversal Int (Seq a) (Seq b) a b
Instance details

Defined in Optics.Each.Core

Methods

each :: IxTraversal Int (Seq a) (Seq b) a b Source #

Each () (Maybe a) (Maybe b) a b Source #
each :: IxTraversal () (Maybe a) (Maybe b) a b
Instance details

Defined in Optics.Each.Core

Methods

each :: IxTraversal () (Maybe a) (Maybe b) a b Source #

Each () (Identity a) (Identity b) a b Source #
each :: IxTraversal () (Identity a) (Identity b) a b
Instance details

Defined in Optics.Each.Core

Methods

each :: IxTraversal () (Identity a) (Identity b) a b Source #

(a ~ a1, b ~ b1) => Each Int (a, a1) (b, b1) a b Source #
each :: IxTraversal Int (a, a) (b, b) a b
Instance details

Defined in Optics.Each.Core

Methods

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 #
each :: Ix i => IxTraversal i (Array i a) (Array i b) a b
Instance details

Defined in Optics.Each.Core

Methods

each :: IxTraversal i (Array i a) (Array j b) a b Source #

k ~ k' => Each k (Map k a) (Map k' b) a b Source #
each :: IxTraversal k (Map k a) (Map k b) a b
Instance details

Defined in Optics.Each.Core

Methods

each :: IxTraversal k (Map k a) (Map k' b) a b Source #

(a ~ a1, a ~ a2, b ~ b1, b ~ b2) => Each Int (a, a1, a2) (b, b1, b2) a b Source #
each :: IxTraversal Int (a, a, a) (b, b, b) a b
Instance details

Defined in Optics.Each.Core

Methods

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 #
each :: IxTraversal Int (a, a, a, a) (b, b, b, b) a b
Instance details

Defined in Optics.Each.Core

Methods

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 #
each :: IxTraversal Int (a, a, a, a, a) (b, b, b, b, b) a b
Instance details

Defined in Optics.Each.Core

Methods

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 #
each :: IxTraversal Int (a, a, a, a, a, a) (b, b, b, b, b, b) a b
Instance details

Defined in Optics.Each.Core

Methods

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 #
each :: IxTraversal Int (a, a, a, a, a, a, a) (b, b, b, b, b, b, b)
 a b
Instance details

Defined in Optics.Each.Core

Methods

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 #
each :: IxTraversal Int (a, a, a, a, a, a, a, a) (b, b, b, b, b, b,
 b, b) a b
Instance details

Defined in Optics.Each.Core

Methods

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 #
each :: IxTraversal Int (a, a, a, a, a, a, a, a, a) (b, b, b, b, b,
 b, b, b, b) a b
Instance details

Defined in Optics.Each.Core

Methods

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 #
each :: IxTraversal Int (a, a, a, a, a, a, a, a, a, a) (b, b, b, b,
 b, b, b, b, b, b) a b
Instance details

Defined in Optics.Each.Core

Methods

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 #
each :: IxTraversal [Int] (Tree a) (Tree b) a b
Instance details

Defined in Optics.Each.Core

Methods

each :: IxTraversal [Int] (Tree a) (Tree b) a b Source #

Each (Either () ()) (Complex a) (Complex b) a b Source #
each :: (RealFloat a, RealFloat b) => IxTraversal (Either () ())
 (Complex a) (Complex b) a b
Instance details

Defined in Optics.Each.Core

Methods

each :: IxTraversal (Either () ()) (Complex a) (Complex b) a b Source #

(a ~ a', b ~ b') => Each (Either () ()) (Either a a') (Either b b') a b Source #
each :: IxTraversal (Either () ()) (Either a a) (Either b b) a
 b
Instance details

Defined in Optics.Each.Core

Methods

each :: IxTraversal (Either () ()) (Either a a') (Either b b') a b Source #