diff options
author | Joey Hess <joeyh@joeyh.name> | 2017-04-27 10:29:33 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2017-04-27 10:29:33 -0400 |
commit | 952cc2941091518e61345f005b6e218bc34f75ec (patch) | |
tree | c5130b0dc4733f96b0855321919fe508b6d15fdc /Types.hs | |
parent | 937b55549b4ba72b0392d7e139e592a40eec2101 (diff) | |
download | debug-me-952cc2941091518e61345f005b6e218bc34f75ec.tar.gz |
don't need Maybe ElapsedTime
Make it a monoid and use mempty = 0
Diffstat (limited to 'Types.hs')
-rw-r--r-- | Types.hs | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -60,7 +60,7 @@ instance DataSize a => DataSize (Message a) where data Activity a = Activity { activity :: a , prevActivity :: Maybe Hash - , elapsedTime :: Maybe ElapsedTime + , elapsedTime :: ElapsedTime , activitySignature :: Signature } deriving (Show, Generic) @@ -68,7 +68,7 @@ data Activity a = Activity instance DataSize a => DataSize (Activity a) where dataSize a = dataSize (activity a) + maybe 0 dataSize (prevActivity a) - + maybe 0 dataSize (elapsedTime a) + + dataSize (elapsedTime a) + dataSize (activitySignature a) -- | A control message, which can be sent asynchronously. @@ -157,6 +157,10 @@ newtype ElapsedTime = ElapsedTime Double mkElapsedTime :: POSIXTime -> POSIXTime -> ElapsedTime mkElapsedTime start end = ElapsedTime $ fromRational $ toRational (end - start) +instance Monoid ElapsedTime where + mempty = ElapsedTime 0 + mappend (ElapsedTime a) (ElapsedTime b) = ElapsedTime (a+b) + instance DataSize ElapsedTime where dataSize _ = 16 -- 128 bit Double |