Skip to content

Comment on The Haskell user experienceparent

Comments

Note that trace is implemented in terms of unsafePerformIO (which is fine for debugging).

To get a trace message, you need to attach the trace to something that does get evaluated. I mostly define a somewhat simpler helper like this:

    tt :: Show a => a -> a
    tt x = trace (show x) x
So you surround your expressions with it and see there values, when those values get evaluated of course. Eg:
    myParser = (\_ code -> tt code) <$> parseComment <*> parseCode

Note: I just looked at the docs linked in creichert's sibling post, and I noticed that Debug.Trace provides traceShow as a helper.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.