Reggae [was Building C++ modules]

Atila Neves atila.neves at gmail.com
Mon Aug 12 09:47:33 UTC 2019


On Friday, 9 August 2019 at 16:45:05 UTC, Russel Winder wrote:
> On Fri, 2019-08-09 at 08:37 +0000, Atila Neves via 
> Digitalmars-d wrote: […]
>> I don't think it is. Fast is relative, and it's death by a 
>> thousand cuts for me at the moment. And this despite the fact 
>> that I use reggae as much as I can, which means I wait less 
>> than most other D programmers on average to get a compiled 
>> binary!
>
> Is there any chance of getting Reggae into D-Apt or better 
> still the standard Debian Sid repository along with ldc2, GtkD, 
> and GStreamerD, so it can be a standard install for anyone 
> using Debian or Ubuntu and so get some real traction in the D 
> build market?

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.


More information about the Digitalmars-d mailing list