Data.Bitraversable (original) (raw)

Bitraversable Arg Source #

Since: base-4.10.0.0

Instance details

Defined in Data.Semigroup

Bitraversable Either Source #

Since: base-4.10.0.0

Instance details

Defined in Data.Bitraversable

Bitraversable (,) Source #

Class laws for tuples hold only up to laziness. The Bitraversable methods are lazier than their Traversable counterparts. For example the law `[bitraverse](Data-Bitraversable.html#v:bitraverse "Data.Bitraversable")` `[pure](Control-Applicative.html#v:pure "Control.Applicative")` ≡ `[traverse](Data-Traversable.html#v:traverse "Data.Traversable")` does not hold for tuples if laziness is exploited:

>>> `` (bitraverse pure pure undefined :: IO (Int, Word)) seq () ``() >>> `` (traverse pure (errorWithoutStackTrace "error!") :: IO (Int, Word)) seq () ``*** Exception: error!

Since: base-4.10.0.0

Instance details

Defined in Data.Bitraversable

Bitraversable (Const :: Type -> Type -> Type) Source #

Since: base-4.10.0.0

Instance details

Defined in Data.Bitraversable

Bitraversable ((,,) x) Source #

Since: base-4.10.0.0

Instance details

Defined in Data.Bitraversable

Bitraversable (K1 i :: Type -> Type -> Type) Source #

Since: base-4.10.0.0

Instance details

Defined in Data.Bitraversable

Bitraversable ((,,,) x y) Source #

Since: base-4.10.0.0

Instance details

Defined in Data.Bitraversable

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> (x, y, a, b) -> f (x, y, c, d) Source #

Bitraversable ((,,,,) x y z) Source #

Since: base-4.10.0.0

Instance details

Defined in Data.Bitraversable

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> (x, y, z, a, b) -> f (x, y, z, c, d) Source #

Bitraversable ((,,,,,) x y z w) Source #

Since: base-4.10.0.0

Instance details

Defined in Data.Bitraversable

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> (x, y, z, w, a, b) -> f (x, y, z, w, c, d) Source #

Bitraversable ((,,,,,,) x y z w v) Source #

Since: base-4.10.0.0

Instance details

Defined in Data.Bitraversable

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> (x, y, z, w, v, a, b) -> f (x, y, z, w, v, c, d) Source #