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

Walter Bright <bugzi...@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzi...@digitalmars.com

--- Comment #4 from Walter Bright <bugzi...@digitalmars.com> ---
Thank you for the interesting proposal. It does have some merit, but I have
reservations.

In particular, what symbols get found and do not get found in a lookup has been
the topic of several very heated debates. People have very different ideas
about what is "intuitive" behavior and what isn't. For example, when and how
local imports are searched. Everybody thinks their scheme is obvious and the
others are demented.

Then, we went and implemented "alias this" without thoroughly understanding
what it means. And now we're stuck with some odd behaviors when different
lookup schemes intersect. We can't fix it because too much existing code has
settled into relying on its current behavior.

People do not have a clear idea how things are looked up, much like in C++
nobody can explain how the overload rules work. Not even me, and I implemented
them correctly. What people do is try random things until the overload they
wanted is selected.

We are already well down that path.

This makes me very trepidatious about adding new overloading behaviors. Note
that the proposed behavior may break existing code, and since people likely
already just tried things until it worked, they may be quite baffled as to how
to fix their code.

So I'm reluctantly going to say no, unless some really strong, very compelling
use case comes to the fore.

I do appreciate your efforts, though. Proposals like yours are what makes
developing new programming paradigms fun! Thank you.

--

Reply via email to