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