Button: A fast, correct, and elegantly simple build system.

Jason White via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Sat Jun 11 11:31:14 PDT 2016


On Saturday, 11 June 2016 at 02:48:59 UTC, H. S. Teoh wrote:
> Finally got around to looking at this (albeit just briefly). It 
> looks very nice!  Perhaps I'll try using it for my next project.

If you do end up using it, I'd be happy to iron out any 
irritations in Button that you encounter.

Button really needs a large project using it to help drive 
refinements.

> I'm particularly pleased with the bipartite graph idea. It's a 
> very nice way of sanely capturing the idea of build commands 
> that generate multiple outputs.  Also big plusses in my book 
> are implicit dependencies and use of inotify to eliminate the 
> infamous "thinking pause" that older build systems all suffer 
> from (this idea was also advanced by tup, but IMO Button looks 
> a tad more polished than tup in terms of overall design).  Of 
> course, being written in D is a bonus in my book. :-D Though 
> realistically speaking it probably doesn't really matter to me 
> as an end user, other than just giving me warm fuzzies.

Tup has had a big influence on the design of Button (e.g., a 
bipartite graph, deleting unused outputs, implicit dependencies, 
using Lua, etc.). Overall, I'd say Button does the same or better 
in every respect except maybe speed.

About it being written in D: If Rust had been mature enough when 
I first started working on it, I might have used it instead. All 
I knew is that I didn't want to go through the pain of writing it 
in C/C++. :-)

> Unfortunately I don't have the time right now to actually do 
> anything non-trivial with it... but I'll try to give feedback 
> when I do get around to it (and I definitely plan to)!

Thanks! I look forward to it!


More information about the Digitalmars-d-announce mailing list