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.

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.


This is just not something that has no solution. Better solutions are always welcome, but keeping a baseline is always useful.


Andrei

Reply via email to