On Tue, Dec 29, 2015 at 02:47:23AM +0100, Pjotr Prins wrote:
> For anyone interested, Eelco's description of Maak, a functional make,
> is here:
> 
>   http://nixos.org/~eelco/pubs/iscsd-scm11-submitted.pdf

This is actually an interesting topic. GNU Make does a number of
things well (note, btw, that it has Guile support), but it has
problems too. In short, in addition to 

1. The sucky non-functional macro system 

2. Make files are hard to read (and maintain)

3. Does dependencies on time stamps

the last is a real problem on cluster builds, which becomes visible
with bioinformatics pipelines using make.

I propose we need a lazy functional system which (optionally) uses
hash values rather than time stamps to decide what needs to be
(re)built. Two years ago I wrote up a design for a Ruby DSL that uses
futures to define dependencies. Futures make for easier reading of
dependencies (you can ignore the Ruby syntax part)

  https://github.com/pjotrp/bioinformatics/blob/master/doc/design/workflow.md

Pj.


Reply via email to