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