-- | Exports most commonly used functionality module Debug.Trace.Tree ( -- * Labelled rose trees ETree(..) -- * Simple trees , SimpleTree(..) -- * Generic generation , GSimpleTree(..) -- * Trace operations , gtraceJson ) where import System.IO.Unsafe import Text.JSON import Debug.Trace.Tree.Edged import Debug.Trace.Tree.Simple import Debug.Trace.Tree.Generic {------------------------------------------------------------------------------- Tracing operations -------------------------------------------------------------------------------} gtraceJson :: GSimpleTree b => FilePath -> (a -> b) -> a -> a gtraceJson fp f x = unsafePerformIO $ do writeFile fp (encode . showJSON . fromGeneric . f $ x) return x