The future of UDAs.

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Thu Nov 29 11:48:04 PST 2012


On 11/29/12 2:35 PM, Max Samukha wrote:
> On Thursday, 29 November 2012 at 17:35:43 UTC, Andrei Alexandrescu wrote:
>> On 11/29/12 12:07 PM, Max Samukha wrote:
>>> On Thursday, 29 November 2012 at 15:23:32 UTC, Andrei Alexandrescu
>>> wrote:
>>>> On 11/29/12 10:17 AM, Max Samukha wrote:
>>>>> On Thursday, 29 November 2012 at 14:17:40 UTC, Andrei Alexandrescu
>>>>> wrote:
>>>>>>
>>>>>> I think this entire approach is unprincipled (aside from solving a
>>>>>> problem that's not urgent and not important).
>>>>>
>>>>> Could you explain how did you determine its urgency and importance
>>>>> please?
>>>>
>>>> We have solved instances of the problem in the standard library.
>>>> Please no more trick questions, thanks.
>>>
>>> The standard library does not represent the bulk of D code. Requirements
>>> for client code are different from those for the standard library.
>>> Please don't base your opinion of importance exclusively on the
>>> experience of a limited group of D users.
>>
>> There are plenty of patterns for solving order of initialization
>> issues in libraries, known since time immemorial. Requiring a library
>> initialization call would be the simplest (albeit not the most
>> elegant). The Monostate and Singleton patterns also come to mind.
>
> We know about singleton/monostate, and it is the initialization call
> that we want to avoid. If the patterns worked for us we'd use them.

You can't say that. They do work don't they.

> Elegance is important. We came to D for it. Otherwise, we would stick to
> the inelegance of other languages. D gave us an opportunity to use
> something better but that something tends to break just before the
> homestretch.

Totally agreed. But then I look at "shared" and there's really no 
comparison in terms of importance and urgency.


Andrei


More information about the Digitalmars-d mailing list