Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A Rake/Thor-like task runner for Haskell

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 Zoom
Octocat-spinner-32 tasks
Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE
Octocat-spinner-32 Main.hs
Octocat-spinner-32 README.org
Octocat-spinner-32 Setup.hs
Octocat-spinner-32 zoom.cabal
README.org

Zoom, the Haskell task runner

Zoom is a simple task runner that helps keep commonly used programming scripts structured, shareable, and fun. Zoom is very alpha right now, and does little to keep you from shooting yourself in the foot. Expect more robustness & speed in future releases.

Installation

Assuming that you have GHC and Cabal installed: cabal install zoom

Running zoom

Execute zoom with no arguments to see what tasks are available. Execute zoom with the qualified function name as zoom displays it to execute the task.

Writing your own scripts

For local scripts, zoom will look in the ./tasks directory of the current directory. Zoom will automatically find and import global tasks. All that you need to do for zoom to find your tasks is write functions of type “ZoomTask whatever” in modules that begin with the Zoom.Task prefix. Here’s an example that you can call with zoom by running “Demo.demo”, corresponding to the module name and the function name of the task:

Demo script:

module Zoom.Task.Demo where

import Zoom.Task

demo = Task “Prints out the string, "This is a demo!"” $ \args -> putStrLn “This is a demo!”

Something went wrong with that request. Please try again.