diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2018-12-08 12:04:31 -0700 |
---|---|---|
committer | Sean Whitton <spwhitton@spwhitton.name> | 2018-12-08 12:04:31 -0700 |
commit | 8e3da156811f5901230b5ae1e61209683f793920 (patch) | |
tree | 3e6ded85f64264687063534b833439625137769c /Types.hs | |
parent | baac01c49b553cf3e1564ad349bd90c0284a46dd (diff) | |
parent | 9f282483310c2ce028c507cc385e69342ad6c7bc (diff) | |
download | debug-me-8e3da156811f5901230b5ae1e61209683f793920.tar.gz |
Merge tag '1.20181208'
tagging package debug-me version 1.20181208
Diffstat (limited to 'Types.hs')
-rw-r--r-- | Types.hs | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -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 |