X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FOptionalConfiguration.hs;h=16fad069670a8c2d47fb96a5299352889d26dd6f;hb=4d67efc948ee9317a65c22268e31757a849c9193;hp=2d74d27965e1281f0e816ae45500af9221f67440;hpb=39e047ccd8422207e01247c63f514c40e7eac31e;p=mailbox-count.git diff --git a/src/OptionalConfiguration.hs b/src/OptionalConfiguration.hs index 2d74d27..16fad06 100644 --- a/src/OptionalConfiguration.hs +++ b/src/OptionalConfiguration.hs @@ -19,8 +19,8 @@ import qualified Data.Configurator as DC ( load, lookup ) import Data.Data ( Data ) -import Data.Typeable ( Typeable ) -import Data.Monoid ( Monoid(..) ) +import Data.Monoid ( Monoid() ) +import Data.Semigroup ( Semigroup() ) import Paths_mailbox_count ( getSysconfDir ) import System.Directory ( getHomeDirectory ) import System.FilePath ( () ) @@ -42,7 +42,7 @@ data OptionalConfiguration = port :: Maybe Int, summary_query :: Maybe String, username :: Maybe String } - deriving (Show, Data, Typeable) + deriving (Show, Data) -- | Combine two Maybes into one, essentially mashing them @@ -75,8 +75,9 @@ instance Monoid OptionalConfiguration where Nothing Nothing +instance Semigroup OptionalConfiguration where -- | Combine @cfg1@ and @cfg2@, giving precedence to @cfg2@. - cfg1 `mappend` cfg2 = + cfg1 <> cfg2 = OptionalConfiguration (merge_maybes (database cfg1) (database cfg2)) (merge_maybes (detail cfg1) (detail cfg2))