Idris2Doc : Data.Bifoldable

Data.Bifoldable

```Additional utility functions for the `Bifoldable` interface.
```

Definitions

`bifoldlM : Monad m => Bifoldable p => (a -> b -> m a) -> (a -> c -> m a) -> a -> p b c -> m a`
`  Left associative monadic bifold over a structure.`

Totality: total
Visibility: public export
`bifoldMap : Monoid m => Bifoldable p => (a -> m) -> (b -> m) -> p a b -> m`
`  Combines the elements of a structure,  given ways of mapping them to a common monoid.`

Totality: total
Visibility: public export
`biconcat : Monoid m => Bifoldable p => p m m -> m`
`  Combines the elements of a structure using a monoid.`

Totality: total
Visibility: public export
`biconcatMap : Monoid m => Bifoldable p => (a -> m) -> (b -> m) -> p a b -> m`
`  Combines the elements of a structure,  given ways of mapping them to a common monoid.`

Totality: total
Visibility: public export
`biand : Bifoldable p => p (Lazy Bool) (Lazy Bool) -> Bool`
`  The conjunction of all elements of a structure containing lazy boolean  values. `biand` short-circuits from left to right, evaluating until either an  element is `False` or no elements remain.`

Totality: total
Visibility: public export
`bior : Bifoldable p => p (Lazy Bool) (Lazy Bool) -> Bool`
`  The disjunction of all elements of a structure containing lazy boolean  values. `bior` short-circuits from left to right, evaluating either until an  element is `True` or no elements remain.`

Totality: total
Visibility: public export
`biany : Bifoldable p => (a -> Bool) -> (b -> Bool) -> p a b -> Bool`
`  The disjunction of the collective results of applying a predicate to all  elements of a structure. `biany` short-circuits from left to right.`

Totality: total
Visibility: public export
`biall : Bifoldable p => (a -> Bool) -> (b -> Bool) -> p a b -> Bool`
`  The disjunction of the collective results of applying a predicate to all  elements of a structure. `biall` short-circuits from left to right.`

Totality: total
Visibility: public export
`bisum : Num a => Bifoldable p => p a a -> a`
`  Add together all the elements of a structure.`

Totality: total
Visibility: public export
`bisum' : Num a => Bifoldable p => p a a -> a`
`  Add together all the elements of a structure.  Same as `bisum` but tail recursive.`

Totality: total
Visibility: export
`biproduct : Num a => Bifoldable p => p a a -> a`
`  Multiply together all elements of a structure.`

Totality: total
Visibility: public export
`biproduct' : Num a => Bifoldable p => p a a -> a`
`  Multiply together all elements of a structure.  Same as `product` but tail recursive.`

Totality: total
Visibility: export
`bitraverse_ : (Bifoldable p, Applicative f) => (a -> f x) -> (b -> f y) -> p a b -> f ()`
`  Map each element of a structure to a computation, evaluate those  computations and discard the results.`

Totality: total
Visibility: public export
`bisequence_ : Applicative f => Bifoldable p => p (f a) (f b) -> f ()`
`  Evaluate each computation in a structure and discard the results.`

Totality: total
Visibility: public export
`bifor_ : (Bifoldable p, Applicative f) => p a b -> (a -> f x) -> (b -> f y) -> f ()`
`  Like `bitraverse_` but with the arguments flipped.`

Totality: total
Visibility: public export
`bichoice : Alternative f => Bifoldable p => p (Lazy (f a)) (Lazy (f a)) -> f a`
`  Bifold using Alternative.    If you have a left-biased alternative operator `<|>`, then `choice` performs  left-biased choice from a list of alternatives, which means that it  evaluates to the left-most non-`empty` alternative.`

Totality: total
Visibility: public export
`bichoiceMap : (Bifoldable p, Alternative f) => (a -> f x) -> (b -> f x) -> p a b -> f x`
`  A fused version of `bichoice` and `bimap`.`

Totality: total
Visibility: public export