tracetree-0.1.0.0: src/Debug/Trace/Tree.hs
-- | 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