summaryrefslogtreecommitdiffhomepage
path: root/Types.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Types.hs')
-rw-r--r--Types.hs6
1 files changed, 5 insertions, 1 deletions
diff --git a/Types.hs b/Types.hs
index ce986c7..bbf296f 100644
--- a/Types.hs
+++ b/Types.hs
@@ -22,6 +22,7 @@ import JSON
import qualified Data.Text as T
import Data.Time.Clock.POSIX
+import qualified Data.Semigroup as Sem
-- | Things that the developer sees.
data Seen = Seen
@@ -194,9 +195,12 @@ newtype ElapsedTime = ElapsedTime Double
mkElapsedTime :: POSIXTime -> POSIXTime -> ElapsedTime
mkElapsedTime start end = ElapsedTime $ fromRational $ toRational (end - start)
+instance Sem.Semigroup ElapsedTime where
+ ElapsedTime a <> ElapsedTime b = ElapsedTime (a+b)
+
instance Monoid ElapsedTime where
mempty = ElapsedTime 0
- mappend (ElapsedTime a) (ElapsedTime b) = ElapsedTime (a+b)
+ mappend = (Sem.<>)
instance DataSize ElapsedTime where
dataSize _ = 16 -- 128 bit Double