projects
/
matthijs
/
master-project
/
cλash.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add traceIf function for conditional tracing.
[matthijs/master-project/cλash.git]
/
cλash
/
CLasH
/
Utils.hs
diff --git
a/cλash/CLasH/Utils.hs
b/cλash/CLasH/Utils.hs
index 2966757a038b1d2fefd6a9db51547a0bcf8d0bff..d85b25b5f415a817a82f54fa5471e1ef5b1aa409 100644
(file)
--- a/
cλash/CLasH/Utils.hs
+++ b/
cλash/CLasH/Utils.hs
@@
-7,6
+7,7
@@
import qualified Data.Accessor.Monad.Trans.State as MonadState
import qualified Data.Map as Map
import qualified Control.Monad as Monad
import qualified Control.Monad.Trans.State as State
import qualified Data.Map as Map
import qualified Control.Monad as Monad
import qualified Control.Monad.Trans.State as State
+import qualified Debug.Trace as Trace
-- Make a caching version of a stateful computatation.
makeCached :: (Monad m, Ord k) =>
-- Make a caching version of a stateful computatation.
makeCached :: (Monad m, Ord k) =>
@@
-60,3
+61,9
@@
mapAccumLM f s (x:xs) = do
(s', y ) <- f s x
(s'', ys) <- mapAccumLM f s' xs
return (s'', y:ys)
(s', y ) <- f s x
(s'', ys) <- mapAccumLM f s' xs
return (s'', y:ys)
+
+-- Trace the given string if the given bool is True, do nothing
+-- otherwise.
+traceIf :: Bool -> String -> a -> a
+traceIf True = Trace.trace
+traceIf False = flip const