Nemesis 复仇女神

I just created my first DSL, called Nemesis, in Haskell. It's modeled after Rake.

A single file named Nemesis containing dependency specifications, something like this:

1
2
3
4
5
6
7
8
9
10
11
nemesis = do

task "dist" $ do
sh "cabal clean"
sh "cabal configure"
sh "cabal sdist"

task "i" (sh "ghci -isrc src/System/Nemesis.hs")

task "manifest" $ do
sh "find . | grep 'hs$' > manifest"

I'm planning to use Nemesis instead of Rake from now on, since Nemesis compiles to machine code and can be blazingly fast. I'm happy :)

blog comments powered by Disqus