On Saturday, 3 September 2016 at 10:33:22 UTC, Walter Bright wrote:
On 9/3/2016 3:14 AM, Timon Gehr wrote:
On 03.09.2016 10:37, Walter Bright wrote:
None of the algorithms used in std.algorithm or elsewhere in Phobos have
this particular issue.

Yes they do. It is not possible to implement the range functions as non-members.

It's done for arrays via std.array.


Nor have I seen ADL supported in any other
language, despite many supporting generic algorithms.

Which other such languages have templates like D or C++?

I don't think it is a template issue. It's a name lookup issue. There's LINQ in C#, for example.

I agree that it's not a template issue. It's more of a modules vs namespaces issue. I think the lack of ADL is not a problem in C# because everyone can (and everyone does) extend an existing namespace, so most user's of LINQ algorithms just slap a `using System.Linq` on top of the file without caring in exactly which file the functionality they're using is coming from.

Personally I'm glad that D doesn't have ADL because ADL can make it very hard to find which overload is called.
        • Re: ADL Manu via Digitalmars-d
        • Re: ADL Walter Bright via Digitalmars-d
        • Re: ADL Tobias M via Digitalmars-d
        • Re: ADL ZombineDev via Digitalmars-d
        • Re: ADL Tobias M via Digitalmars-d
        • Re: ADL ZombineDev via Digitalmars-d
        • Re: ADL Tobias M via Digitalmars-d
        • Re: ADL Tobias Müller via Digitalmars-d
        • Re: ADL ZombineDev via Digitalmars-d
        • Re: ADL Tobias Müller via Digitalmars-d
        • Re: ADL ZombineDev via Digitalmars-d
        • Re: ADL Walter Bright via Digitalmars-d
        • Re: ADL Andrei Alexandrescu via Digitalmars-d
    • Re: ADL Timon Gehr via Digitalmars-d
      • Re: ADL Walter Bright via Digitalmars-d
        • Re: ADL Walter Bright via Digitalmars-d
      • Re: ADL Stefan Koch via Digitalmars-d
  • Re: ADL Manu via Digitalmars-d
  • Re: ADL Walter Bright via Digitalmars-d
  • Re: ADL John Colvin via Digitalmars-d
  • Re: ADL Walter Bright via Digitalmars-d

Reply via email to