Reggae [was Building C++ modules]

Russel Winder russel at winder.org.uk
Mon Aug 12 11:32:35 UTC 2019


On Mon, 2019-08-12 at 09:47 +0000, Atila Neves via Digitalmars-d wrote:
> 
[…]
> That's a good question. The thing is I basically want to rewrite 
> reggae from scratch, and, worse than that, am trying to figure 
> out how to best leverage the work done in this paper:
> 
> https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=2ahUKEwjmtM7hhf3jAhXr0qYKHZRUCoYQFjAAegQIABAC&url=https%3A%2F%2Fwww.microsoft.com%2Fen-us%2Fresearch%2Fuploads%2Fprod%2F2018%2F03%2Fbuild-systems-final.pdf&usg=AOvVaw2j71hXjOoEQLNNjvEOp_RQ
> 
> (Build Systems à la carte by Microsoft Research, in which they 
> show how to compose different types of build systems in Haskell)
> 
> It's clear to me that the current way of building software is 
> broken in the sense that we almost always do more work than 
> needed. My vision for the future is a build system so smart that 
> it only rebuilds mod1.d if mod0.d was modified in such a way that 
> it actually needs to. For instance, if the signatures of any 
> functions imported are changed. I think that paper is a step in 
> the right direction by abstracting away how changes are computed.

Anything Simon is involved in is always worth looking at. The focus of the
document is though Microsoft and Haskell, so lots of good stuff, but
potentially missing lots of other good stuff.

Although slightly different in some ways, Gradle has had (and continues to
have) a huge amount of work in it to try and minimize dependencies being seen
as causing a rebuild. Gradle is principally a JVM-oriented system, but a very
big client funded Gradle working with C++.

SCons (and Waf) have done quite a lot of work on build minimization
(especially Parts which is an addition over SCons), I am not sure how much of
this got into Meson – I guess that partly depends on what Ninja does.

I have not used Tup, but it should have a role in any review given it's claims
of minimising work.

The core question is though given Dub and Meson, can Reggae gain real traction
in the D build arena possibly replacing Dub as the default D project build
controller? Is a rewrite of Dub more cost effective than a rewrite of Reggae? 

-- 
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20190812/c95715ba/attachment.sig>


More information about the Digitalmars-d mailing list