descript-lang-0.2.0.0: src/Core/Data/Monoid.hs
{-# LANGUAGE DefaultSignatures #-}
module Core.Data.Monoid
( Monoid1 (..)
) where
import Data.Semigroup
-- | Is a 'Monoid' if its type variable is a 'Monoid',
class Monoid1 a where
mempty1 :: (Semigroup b, Monoid b) => a b
default mempty1 :: (Semigroup b, Monoid b, Monoid (a b)) => a b
mempty1 = mempty
mappend1 :: (Semigroup b, Monoid b) => a b -> a b -> a b
default mappend1 :: (Semigroup b, Monoid b, Monoid (a b)) => a b -> a b -> a b
mappend1 = mappend