nemesis = do clean [ "**/*.hi" , "**/*.o" , "manifest" , "main" , "nemesis-tmp.*" ] desc "prepare cabal dist" task "dist" $ do sh "cabal clean" sh "cabal configure" sh "cabal sdist" desc "put all .hs files in manifest" task "manifest" $ do sh "find . | grep 'hs$' > manifest" desc "start console" task "i" (sh "ghci -isrc src/System/Nemesis/DSL.hs") namespace "eat" $ do task "bread: salad" $ putStrLn "eating bread" task "salad: /drink/coke" $ putStrLn "nice salad" namespace "drink" $ do task "coke" $ putStrLn "drinking coke"