Back in D after some absence, some perspective
Bruce Carneal
bcarneal at gmail.com
Wed Mar 10 23:54:37 UTC 2021
On Wednesday, 10 March 2021 at 21:06:52 UTC, Stefan Koch wrote:
> On Wednesday, 10 March 2021 at 20:17:57 UTC, Max Haughton wrote:
>> On Wednesday, 10 March 2021 at 06:53:37 UTC, Stefan Koch wrote:
>>> On Wednesday, 10 March 2021 at 02:46:26 UTC, Timon Gehr wrote:
>>>>
>>>> I also think it is quite safe to assume that DMD will never
>>>> implement any consistent semantics for the interaction of
>>>> forward references and introspection (because it will never
>>>> be the top-priority issue), but I don't want to give up on
>>>> forward references nor introspection.
>>>
>>> I hope that we can fix that.
>>> Any serious advance of meta-programming in D is basically not
>>> possible without having this issue fixed.
>>> And I think that, slowly transitioning the compiler to an
>>> asynchronous task based system
>>> (get resolution and semantic analysis to be based on
>>> co-routines);
>>> can get us there.
>>
>> Is that realistic for dmd?
>
> Let me say it like this.
> I think It is more realistic than giving up on dmd.
A second front end effort could provide a number of benefits
beyond those associated with hindsight and a clean sheet
architecture. Not the least of these is the ability to compare
two implementations.
Whether it is worth redeploying some dmd resources to a second
front end is a decision for those writing the checks (or donating
their time) but here's a hypothetical that may help: if you had
abundant resources at your disposal would you restrict your
efforts to dmd only?
I would not. Given "abundant" resources, restricting efforts to
dmd sounds much too conservative. Also, to answer the next
question, "abundant" for me means any amount of time that I have
to dedicate to compiler work which, unfortunately, currently
amounts to approximately a hill of beans (a few hours now and
then exploring SDC, LLVM, MLIR, and SPIR-V).
Here's hoping "abundant" resources come in to view and/or
incremental improvement of dmd leads towards simplicity and
robustness.
More information about the Digitalmars-d
mailing list