import System.Plugins import System.Directory main = do status <- make "Foo.hs" [] -- should make print status status <- make "Foo.hs" [] -- shouldn't make print status status <- merge "Foo.hs" "Bar.hs" case status of MergeFailure e -> error $ show e MergeSuccess _ _ fp -> do { ;status <- make fp [] -- should make ;() <- case status of MakeSuccess c _ -> print c MakeFailure _ -> print "make failure" ;status <- make fp [] -- shouldn't make ;case status of MakeSuccess c _ -> print c MakeFailure _ -> print "make failure" ;removeFile "Foo.o" -- make test deterministic }