On Thu, Apr 26, 2012 at 5:05 PM, Joachim Breitner <m...@joachim-breitner.de> wrote: > Hi, > > Am Mittwoch, den 25.04.2012, 18:36 +0300 schrieb Michael Snoyman: >> I'm sure there are many better ways to approach the problem, and I >> can't speak to the complexity of implementation within GHC. I *can* >> say, however, that this would have saved me a lot of time in the >> example I gave above, and I'd bet many Haskellers have similar >> stories. This could be a huge debugging win across the board. > > using TH (which I only reluctantly advocate for general usage) you can > get good location information behaviour, see > http://hackage.haskell.org/packages/archive/stm-stats/0.2.0.0/doc/html/Control-Concurrent-STM-Stats.html#v:trackThisSTM > (and its source) for one example. One would use this approach maybe with > http://hackage.haskell.org/packages/archive/safe/0.3.3/doc/html/Safe.html#v:headNote > > Greetings, > Joachim > > > -- > Joachim Breitner > e-Mail: m...@joachim-breitner.de > Homepage: http://www.joachim-breitner.de > Jabber-ID: nome...@joachim-breitner.de > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe >
We actually use a similar technique in Yesod for logging[1]. But it requires actively using it in all libraries. In other words, unless the author of the library in question explicitly used $headLoc, this wouldn't help. [1] http://hackage.haskell.org/packages/archive/yesod-core/1.0.1.1/doc/html/Yesod-Core.html#v:logDebug _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe