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