module Data.Monoid.HT (cycle, (<>), when, ) where
import Data.Monoid (Monoid, mappend, mempty, )
import Data.Function (fix, )
import Prelude (Bool)
cycle :: Monoid m => m -> m
cycle :: m -> m
cycle m
x =
(m -> m) -> m
forall a. (a -> a) -> a
fix (m -> m -> m
forall a. Monoid a => a -> a -> a
mappend m
x)
infixr 6 <>
(<>) :: Monoid m => m -> m -> m
<> :: m -> m -> m
(<>) = m -> m -> m
forall a. Monoid a => a -> a -> a
mappend
when :: Monoid m => Bool -> m -> m
when :: Bool -> m -> m
when Bool
b m
m = if Bool
b then m
m else m
forall a. Monoid a => a
mempty