nemesis: a rake like task management tool

[ bsd3, library, tools ] [ Propose Tags ]
Versions 2009.6.12, 2009.6.13, 2009.6.13.1, 2009.6.13.2, 2009.6.14, 2009.6.14.1, 2009.6.14.2, 2009.6.14.3, 2009.6.24, 2009.6.25, 2009.8.4, 2009.8.16, 2009.8.17, 2009.8.18, 2009.10.7, 2010.10.4, 2010., 2011.6.12, 2011.6.19, 2011.10.12, 2012.5.24, 2012.5.24.1, 2012.12.18, 2013.6.13, 2013.6.16, 2013.6.22, 2013.7.27, 2014.5.19, 2015.5.4, 2016.3.19, 2018.1.27
Change log
Dependencies base (==4.*), containers, data‑default, directory, haskell98, mtl, process [details]
License BSD-3-Clause
Author Wang, Jinjing
Maintainer Wang, Jinjing <>
Category Web
Home page
Uploaded by JinjingWang at Fri Jun 12 13:52:10 UTC 2009
Distributions NixOS:2018.1.27
Executables nemesis
Downloads 9151 total (79 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

a rake like task management tool

[Skip to Readme]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for nemesis-2009.6.13

[back to package description]

Nemesis: a rake like task management tool for haskell



in nem.hs

nemesis = do
  desc "learn Haskell"
  task "learn-haskell: learn-fp" (putStrLn "Haskell is awesome!")

  desc "learn Functional Programming"
  task "learn-fp: learn-lisp" $ do
    sh "echo 'into FP'"

  desc "learn LISP"
  task "learn-lisp" $ do
    sh "echo 'LISP is cool!'"

run nemesis

It will generate a bin nem inside your current folder.


run ./nem

     learn-fp: learn Functional Programming
learn-haskell: learn Haskell
   learn-lisp: learn LISP

run ./nem learn-haskell

LISP is cool!
into FP
Haskell is awesome!

Advance usage


Use a separator below language extensions, e.g.

{-# LANGUAGE QuasiQuotes #-}

-- Nem

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"

currently the separator -- Nem is hard coded

Build it yourself


module Main where

import System.Nemesis

nemesis = do
  task "i" (sh "ghci -isrc src/System/Nemesis.hs")
main = nemesis