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
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