]> gitweb.michael.orlitzky.com - mailbox-count.git/blobdiff - src/OptionalConfiguration.hs
src/OptionalConfiguration.hs: don't derive Typeable.
[mailbox-count.git] / src / OptionalConfiguration.hs
index 2d74d27965e1281f0e816ae45500af9221f67440..16fad069670a8c2d47fb96a5299352889d26dd6f 100644 (file)
@@ -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))