module Hix.Trace where import Distribution.Pretty (Pretty) import GHC.Stack (callStack) import System.IO.Unsafe (unsafePerformIO) import Hix.Pretty (showP) trp :: ∀ b a . Pretty b => HasCallStack => b -> a -> a trp :: forall b a. (Pretty b, HasCallStack) => b -> a -> a trp b b a a = IO a -> a forall a. IO a -> a unsafePerformIO (a a a -> IO () -> IO a forall a b. a -> IO b -> IO a forall (f :: * -> *) a b. Functor f => a -> f b -> f a <$ SrcLoc -> Text -> IO () debugPrint (CallStack -> SrcLoc srcLoc CallStack HasCallStack => CallStack callStack) (b -> Text forall b a. (Pretty a, IsString b) => a -> b showP b b)) trpi :: Pretty a => HasCallStack => a -> a trpi :: forall a. (Pretty a, HasCallStack) => a -> a trpi a a = IO a -> a forall a. IO a -> a unsafePerformIO (a a a -> IO () -> IO a forall a b. a -> IO b -> IO a forall (f :: * -> *) a b. Functor f => a -> f b -> f a <$ SrcLoc -> Text -> IO () debugPrint (CallStack -> SrcLoc srcLoc CallStack HasCallStack => CallStack callStack) (a -> Text forall b a. (Pretty a, IsString b) => a -> b showP a a))