module Maptrace(maptrace,ctrace) where import Debug.Trace(trace) import CmdLineEnv(argFlag) maptrace :: String -> [b] -> [b] maptrace String s = (b -> b) -> [b] -> [b] forall a b. (a -> b) -> [a] -> [b] map (\b x -> if b x b -> b -> Bool forall a. Eq a => a -> a -> Bool == b x then String -> b -> b forall a. String -> a -> a trace String s b x else String -> b forall a. HasCallStack => String -> a error String "?") ctrace :: String -> a -> a -> a ctrace String flag = if String -> Bool -> Bool argFlag String flag Bool False then \a e -> String -> a -> a forall a. String -> a -> a trace (String flagString -> String -> String forall a. [a] -> [a] -> [a] ++String ": "String -> String -> String forall a. [a] -> [a] -> [a] ++a -> String forall a. Show a => a -> String show a e) else (a -> a) -> a -> a -> a forall a b. a -> b -> a const a -> a forall a. a -> a id