module Data.Monoid.Utils (
mintercalate
, mspace
, smappend
, smconcat
, (<+>)
) where
import Data.List
import Data.String
mintercalate :: Monoid m => m -> [m] -> m
mintercalate :: forall m. Monoid m => m -> [m] -> m
mintercalate m
m = forall a. Monoid a => [a] -> a
mconcat forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. a -> [a] -> [a]
intersperse m
m
mspace :: (IsString m, Monoid m) => m
mspace :: forall m. (IsString m, Monoid m) => m
mspace = forall a. IsString a => String -> a
fromString String
" "
smappend :: (IsString m, Monoid m) => m -> m -> m
smappend :: forall m. (IsString m, Monoid m) => m -> m -> m
smappend m
a m
b = forall a. Monoid a => [a] -> a
mconcat [m
a, forall m. (IsString m, Monoid m) => m
mspace, m
b]
smconcat :: (IsString m, Monoid m) => [m] -> m
smconcat :: forall m. (IsString m, Monoid m) => [m] -> m
smconcat = forall m. Monoid m => m -> [m] -> m
mintercalate forall m. (IsString m, Monoid m) => m
mspace
(<+>) :: (IsString m, Monoid m) => m -> m -> m
<+> :: forall m. (IsString m, Monoid m) => m -> m -> m
(<+>) = forall m. (IsString m, Monoid m) => m -> m -> m
smappend
infixr 6 <+>