robin: A build daemon for Haskell development

[ development, gpl, program ] [ Propose Tags ]

Robin is a daemon for Haskell developers. It runs a build whenever a source file changes. Cabal, Stack, and custom builds are all supported.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0
Dependencies base (>=4 && <5), Cabal, directory, filepath, fsnotify, hdaemonize, lens, lifted-base, monad-control, mtl, process, resourcet, text, time, unix [details]
License GPL-3.0-only
Copyright (c) 2013-2015 Karl Voelker
Author Karl Voelker
Maintainer robin@karlv.net
Category Development
Home page https://www.github.com/ktvoelker/robin
Bug tracker https://www.github.com/ktvoelker/robin/issues
Source repo head: git clone https://github.com/ktvoelker/robin.git
Uploaded by KarlVoelker at 2015-09-10T04:34:20Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Executables robin
Downloads 965 total (5 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2016-12-01 [all 6 reports]

Readme for robin-0.1.0.0

[back to package description]

Robin

Robin is a build daemon for Haskell development.

Usage

robin (start | stop | build | watch | debug)

This daemon rebuilds a cabalized Haskell project whenever a source file changes. It runs one of the following commands:

  • ./robin.sh, if that file exists, or
  • stack build, if stack.yaml exists, or
  • cabal build, otherwise.

Commands

  • start - if the current project doesn't already have a daemon, start one
  • stop - stop the daemon for the current project
  • build - show the output of the last build, or if a build is in progress, wait for completion and then show its output
  • watch - take over the console, always showing the latest build output
  • debug - like start, but doesn't daemonize

The default command is build.

Note: the current project is assumed to be the root of the git working copy which contains the current directory. definition.

Vim integration

echo 'setlocal makeprg=robin' >> ~/.vim/ftplugin/haskell.vim