How to use `trace` while debuging GHC
 
            Hello, While working on GHC sometimes I find it useful to dump the values of intermediate expressions, perhaps in the middle of pure code, using a combination of `trace` and `ppr`. The issue is that `ppr` returns an `SDoc`, and to turn an `SDoc` into a `String`, I need some `DynFlags`. There used to be a value called `tracingDynFlags` that I could use to dump values, but it has disappeared... Did it get moved somewhere, or is there a better way to get the same effect? -Iavor
 
            On Sun, Nov 11, 2012 at 05:24:06PM -0800, Iavor Diatchki wrote:
There used to be a value called `tracingDynFlags` that I could use to dump values, but it has disappeared... Did it get moved somewhere, or is there a better way to get the same effect?
There is now StaticFlags.unsafeGlobalDynFlags. Thanks Ian
 
            I've recently used the conveniently-typed (pprTrace :: String -> SDoc -> a -> a) for this purpose. You have to compile with -DDEBUG, but it works great.
Richard
On Nov 11, 2012, at 8:36 PM, Ian Lynagh 
On Sun, Nov 11, 2012 at 05:24:06PM -0800, Iavor Diatchki wrote:
There used to be a value called `tracingDynFlags` that I could use to dump values, but it has disappeared... Did it get moved somewhere, or is there a better way to get the same effect?
There is now StaticFlags.unsafeGlobalDynFlags.
Thanks Ian
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
 
            On Mon, Nov 12, 2012 at 5:15 AM, Richard Eisenberg 
I've recently used the conveniently-typed (pprTrace :: String -> SDoc ->
a -> a) for this purpose. You have to compile with -DDEBUG, but it works great.
Richard
To use pprTrace you don't actually need to compile with -DDEBUG, it only checks if -dno-debug-output has been specified on the command line: http://www.haskell.org/ghc/docs/latest/html/libraries/ghc/src/Outputable.htm... http://www.haskell.org/ghc/docs/latest/html/libraries/ghc/src/StaticFlags.ht... Cheers, Michal
participants (4)
- 
                 Ian Lynagh Ian Lynagh
- 
                 Iavor Diatchki Iavor Diatchki
- 
                 Michal Terepeta Michal Terepeta
- 
                 Richard Eisenberg Richard Eisenberg