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