module Optimus.Trace where import qualified Debug.Trace as Trace import Optimus.Pretty import Flite.Syntax import Flite.Fresh import Control.Monad trace :: String -> String -> a -> a trace prefix suffix x = Trace.trace (prefix ++ suffix) x dummy :: String -> a -> a dummy _ = id finalInlining f p = trace "\nFinal inlining of:\n" (prettyProg p) (f p) finalSimplification f p = trace "\nFinal simplification of:\n" (prettyProg p) (f p) t_sc = trace "\nSupercompile: " --t_S = trace "Simplification: " t_S' = trace "Simplification: " t_S = dummy t_D = trace "\n+ Drive: " t_T = trace "\n}{ Tie: " t_U = trace "" -- t_M m = trace "\nMap:\n" (show m) m t_M = id -- t_Rho = trace "\nrho:\n" t_Rho = dummy -- t_G = trace "\n MSG: \n" t_G = dummy