1{-# LANGUAGE CPP, NoImplicitPrelude #-} 2-- | This backports the modern "Data.Semigroup" interface back to 3-- @base-4.9@/GHC 8.0. 4module Data.Semigroup.Compat ( 5#if MIN_VERSION_base(4,9,0) 6 Semigroup(..) 7 , stimesMonoid 8 , stimesIdempotent 9 , stimesIdempotentMonoid 10 , mtimesDefault 11 -- * Semigroups 12 , Min(..) 13 , Max(..) 14 , First(..) 15 , Last(..) 16 , WrappedMonoid(..) 17 -- * Re-exported monoids from Data.Monoid 18 , Dual(..) 19 , Endo(..) 20 , All(..) 21 , Any(..) 22 , Sum(..) 23 , Product(..) 24 -- * A better monoid for Maybe 25 , Option(..) 26 , option 27 -- * Difference lists of a semigroup 28 , diff 29 , cycle1 30 -- * ArgMin, ArgMax 31 , Arg(..) 32 , ArgMin 33 , ArgMax 34#endif 35 ) where 36 37#if MIN_VERSION_base(4,9,0) 38import Data.Semigroup 39#endif 40