On 05.10.2017 21:40, Walter Bright wrote:


Right. But then the question becomes how much more complexity do we want to add chasing that last percent of perfection?

For example, right now I'm in my 3rd day of attempting to resolve

https://issues.dlang.org/show_bug.cgi?id=17635

which is a regression brought about by layers and layers of fixes over time for a seemingly simple issue - implicitly converting a unique return from a pure function into an immutable.
...

Sounds like the code might need a rewrite.

For another example, it took Martin and I months to implement the new import lookup scheme. It turned out to be fairly complicated, and there were many regressions. There are probably still issues lurking in it.
...

Do you have some examples of why it is complicated? (I'm curious whether there is a good way to simplify it.)

We need to keep the language rules simple enough to understand and simple enough to implement, and there will be compromises with that.

It is however also important to not conflate implementation effort in DMD due to evolvability issues with complexity of the feature. (Of course, pragmatically, it will have some influence on the language design, but ideally it should not.)

Reply via email to