let _put s = "System.Timeout.timeout 1000000 (Control.Concurrent.MVar.putMVar GHC.Vis.visSignal $ GHC.Vis.Types." ++ s ++ ") >> return ()" :def vis \_ -> return $ "GHC.Vis.visualization" :def view \x -> return $ _put $ "NewSignal (GHC.HeapView.asBox (" ++ x ++ ")) " ++ show x :def eval \x -> return $ "GHC.Vis.evaluate \"" ++ x ++ "\"\n" ++ _put "UpdateSignal" :def switch \_ -> return $ _put "SwitchSignal" :def update \_ -> return $ _put "UpdateSignal" :def clear \_ -> return $ _put "ClearSignal" :def export \x -> return $ _put $ "ExportSignal " ++ show x -- Remove our temporary bindings -- :r