From 561ee5077e75b617cf5bb78de381176f04bc62dc Mon Sep 17 00:00:00 2001 From: Stephen Diehl Date: Wed, 27 Apr 2016 15:27:42 -0400 Subject: [PATCH] fix traceShow fixes #10 --- src/Base.hs | 4 ++++ src/Debug.hs | 21 ++++++++++++--------- src/Protolude.hs | 2 ++ 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/Base.hs b/src/Base.hs index ce4e3dfac..8be368503 100644 --- a/src/Base.hs +++ b/src/Base.hs @@ -17,6 +17,10 @@ import GHC.Num as X import GHC.Enum as X import GHC.Real as X import GHC.Float as X +import GHC.Err as X ( + undefined + , error + ) import GHC.Show as X ( Show(..) ) diff --git a/src/Debug.hs b/src/Debug.hs index 5fd3dcd63..d6cfcb2f3 100644 --- a/src/Debug.hs +++ b/src/Debug.hs @@ -12,7 +12,10 @@ module Debug ( notImplemented, ) where -import qualified Prelude as P +import Data.String (String) +import Control.Monad (Monad, return) + +import qualified Base as P import qualified Debug.Trace as T {-# WARNING undefined "'undefined' remains in code" #-} @@ -20,27 +23,27 @@ undefined :: a undefined = P.undefined {-# WARNING error "'error' remains in code" #-} -error :: P.String -> a +error :: String -> a error = P.error {-# WARNING trace "'trace' remains in code" #-} -trace :: P.String -> a -> a +trace :: String -> a -> a trace = T.trace {-# WARNING traceShow "'traceShow' remains in code" #-} -traceShow :: P.Show a => a -> a -traceShow a = T.trace (P.show a) a +traceShow :: P.Show a => a -> b -> b +traceShow a b = T.trace (P.show a) b {-# WARNING traceShowM "'traceShowM' remains in code" #-} -traceShowM :: (P.Show a, P.Monad m) => a -> m () +traceShowM :: (P.Show a, Monad m) => a -> m () traceShowM a = traceM (P.show a) {-# WARNING traceM "'traceM' remains in code" #-} -traceM :: (P.Monad m) => P.String -> m () -traceM s = T.trace s (P.return ()) +traceM :: (Monad m) => String -> m () +traceM s = T.trace s (return ()) {-# WARNING traceIO "'traceIO' remains in code" #-} -traceIO :: P.String -> P.IO () +traceIO :: String -> P.IO () traceIO = T.traceIO {-# WARNING notImplemented "'notImplemented' remains in code" #-} diff --git a/src/Protolude.hs b/src/Protolude.hs index 36024b242..2737e6633 100644 --- a/src/Protolude.hs +++ b/src/Protolude.hs @@ -33,6 +33,8 @@ import Base as Base hiding ( , putStrLn , print , show + , error + , undefined ) import qualified Base as PBase