traceM and traceShowM
Twan van Laarhoven
twanvl at gmail.com
Sun Oct 18 19:18:20 EDT 2009
Martijn van Steenbergen wrote:
> Joachim Breitner wrote:
>
>> join traceShow :: (Show a) => a -> a
>
>
> Yes, you're right. I rarely use trace directly. I either use traceM,
> join trace or join traceShow. I can't think of good names for these last
> two functions, though. But if someone else can, I'm all in favour.
Perhaps traceShow should have had type (Show a) => a -> a, but assuming we don't
want to remove existing functions, how about
withTrace :: (Show a) => a -> a
withTrace x = trace (show x) x
and perhaps
withTraceMsg :: (Show a) => String -> a -> a
withTraceMsg msg x = trace (msg ++ ": " ++ show x) x
-- not sure about formating
I'm not sure about a monadic variant of withTrace, what type should it have?
Twan
More information about the Libraries
mailing list