-- First generate graphviz code.
let gvCode = graphviz' theGraph in do
-- Then have `dot' convert it to postscript in a file.
- (rH, wH) <- createHandlePipe
pt <- epochTime
let fname = "graph-" ++ show pt ++ ".ps"
- dotPid <- runProcess "dot" ["-Tps", "-o", fname]
- Nothing Nothing (Just rH) Nothing Nothing
- forkIO (do
- hPutStr wH gvCode
- hClose wH)
+ (Just wH, _, _, dotPid) <- createProcess (proc "dot" ["-Tps", "-o", fname]) {std_in = CreatePipe}
+ hPutStr wH gvCode
+ hClose wH
waitForProcess dotPid
-- Then open the file.
goFile fname