diff --git a/hledger-lib/Hledger/Data/Utils.hs b/hledger-lib/Hledger/Data/Utils.hs index 691c61a54..a3ef1c5c6 100644 --- a/hledger-lib/Hledger/Data/Utils.hs +++ b/hledger-lib/Hledger/Data/Utils.hs @@ -269,10 +269,14 @@ showforest = concatMap showtree strace :: Show a => a -> a strace a = trace (show a) a --- | labelled trace - like strace, with a newline and a label prepended +-- | labelled trace - like strace, with a label prepended ltrace :: Show a => String -> a -> a ltrace l a = trace (l ++ ": " ++ show a) a +-- | monadic trace - like strace, but works as a standalone line in a monad +mtrace :: (Monad m, Show a) => a -> m a +mtrace a = strace a `seq` return a + -- | trace an expression using a custom show function tracewith f e = trace (f e) e