The nemesis package

[Tags: bsd3, library]

a rake like task management tool


[Skip to ReadMe]

Properties

Versions2009.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.10.4.1.1, 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
Change logchangelog.md
Dependenciesbase (==4.*), containers, data-default, directory, haskell98, mtl, process [details]
LicenseBSD3
AuthorWang, Jinjing
MaintainerWang, Jinjing <nfjinjing@gmail.com>
CategoryWeb
Home pagehttp://github.com/nfjinjing/nemesis
Executablesnemesis
UploadedFri Jun 12 13:52:10 UTC 2009 by JinjingWang
DistributionsNixOS:2015.5.4
Downloads3571 total (168 in last 30 days)
Votes
0 []
StatusDocs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for nemesis-2009.6.13

Nemesis: a rake like task management tool for haskell

Tutorial

DSL

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

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 LANGUAGE

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

Example:

module Main where

import System.Nemesis

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