Hacker News new | ask | show | jobs
by gavinpc 2606 days ago
Have you tried Tup? http://gittup.org/tup/

I used it on a project with many thousands of files and hundreds of (mostly dynamic) build rules. This was a literate program, and most build steps required the extraction of code from the source docs --- including build rules themselves --- and I still maintained sub-second updates.

I think Joe would have loved it.

2 comments

I have! Tup was high on my list of potential replacement candidates (despite being initially put-off by the cheekiness of its homepage).

In my experiments though, Tup failed hard on point 2, lacking a good language to factorize the dependency graph declaration. (and to be clear, I think Make's is pretty terrible by itself, before GMSL or Guile extensions come into the picture)

Edit: I see tup supports Lua extensions, which may cancel my complaint above.

> This was a literate program

What language and/or system were you writing in? I discovered literate programming in 2003 and was excited by it (still am). But it never took off and the tooling was poor (Leo, the Literate Programming Editor, is the one I remember - and shudder thinking about)

I started to write this up then remembered answering a similar question a while back.

https://news.ycombinator.com/item?id=12398098

I'm still on that "detour," but still a believer.

Edit: some dead links there. This "bootstrap" directory contains the custom tangler and the custom rule processor. This 10K, plus the tiny configs in the root, are the only code in the project not in documents.

https://bitbucket.org/gavinpc/willshake/src/master/bootstrap...