{-# LANGUAGE FlexibleInstances
, UndecidableInstances
#-}------------------------------------------------------------------------------- |-- Module : Data.Monoid.WithSemigroup-- Copyright : (c) 2011 diagrams-core team (see LICENSE)-- License : BSD-style (see LICENSE)-- Maintainer : diagrams-discuss@googlegroups.com---- Convenience alias for the combination of @Monoid@ and @Semigroup@ constraints.-------------------------------------------------------------------------------moduleData.Monoid.WithSemigroup(Monoid')whereimportData.Semigroup-- Poor man's constraint synonym. Eventually, once it becomes-- standard, we can make this a real constraint synonym and get rid of-- the UndecidableInstances flag. Better yet, hopefully the Monoid-- class will eventually have a Semigroup superclass.-- | The @Monoid'@ class is a synonym for things which are instances-- of both 'Semigroup' and 'Monoid'. Ideally, the 'Monoid' class-- itself will eventually include a 'Semigroup' superclass and we-- can get rid of this.class(Semigroupm,Monoidm)=>Monoid'minstance(Semigroupm,Monoidm)=>Monoid'm