papa-0.5.0: src/Papa/Bifunctors.hs
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -Wall #-}
module Papa.Bifunctors (
module P,
biconcat,
biconcatMap,
) where
import Data.Biapplicative as P (Biapplicative (bipure, (*>>), (<<*), (<<*>>)), biliftA2, biliftA3, (<<$>>), (<<**>>))
import Data.Bifoldable as P (Bifoldable (bifold, bifoldMap), biList, biall, biand, biany, biasum, bielem, bifind, bifoldl, bifoldl', bifoldlM, bifoldr, bifoldr', bifoldrM, biforM_, bifor_, bilength, bimapM_, bimsum, binotElem, binull, bior, biproduct, bisequenceA_, bisequence_, bisum, bitraverse_)
import Data.Bifunctor.Biff as P (Biff (runBiff))
import Data.Bifunctor.Clown as P (Clown (runClown))
import Data.Bifunctor.Fix as P (Fix (out))
import Data.Bifunctor.Flip as P (Flip (runFlip))
import Data.Bifunctor.Functor as P (BifunctorComonad (biduplicate, biextend, biextract), BifunctorFunctor (bifmap), BifunctorMonad (bibind, bijoin, bireturn), biliftM, biliftW)
import Data.Bifunctor.Join as P (Join (Join, runJoin))
import Data.Bifunctor.Joker as P (Joker (Joker, runJoker))
import Data.Bifunctor.Tannen as P (Tannen (Tannen, runTannen))
import Data.Bifunctor.Wrapped as P (WrappedBifunctor (WrapBifunctor, unwrapBifunctor))
import Data.Bitraversable as P (Bitraversable (bitraverse), bifoldMapDefault, bifor, biforM, bimapAccumL, bimapAccumR, bimapDefault, bimapM, bisequence, bisequenceA)
import Data.Monoid (Monoid)
biconcat ::
(Bifoldable p, Monoid m) =>
p m m ->
m
biconcat =
bifold
biconcatMap ::
(Bifoldable p, Monoid m) =>
(a -> m) ->
(b -> m) ->
p a b ->
m
biconcatMap =
bifoldMap