On Wednesday, 6 February 2013 at 10:15:28 UTC, Don wrote:
On Wednesday, 6 February 2013 at 08:16:38 UTC, Jonathan M Davis
wrote:
On Wednesday, February 06, 2013 08:56:26 Don wrote:
In the "Implementing Half Floats in D" thread, we seemed to
have
reached a consensus on two important points:
(a) Phobos should have a broad scope (rather than being small
like the C standard library).
(b) The current flat structure of Phobos (every module in the
root) does not scale to hundreds of modules.
It's not quite unanimous on (a), but seems to be close enough.
Together, (a) and (b) mean we need a plan. The sooner we can
do
it, the less painful it will be. But, on the other hand, it's
something that we really don't want to get wrong.
Personal taste plays a huge role in this (Practically any
structure can work, but we're looking for an arrangement
which is
intuitive and aesthetically pleasing to as many people as
possible). It'll be most productive to stick to
uncontroversial
facts as long as possible.
You can also argue endlessly about what should be where in
the hierarchy, which is needless bikeshedding.
Yes, exactly. That's why I want to defer passing judgement on
anything until we have a reasonable set of data. Just because a
design works well for a particular language doesn't mean it
would also be good for D, but it's still good to look at.
I think it's more constructive to say "that design was tried in
Ruby, but they abandoned it" than to say "I personally don't
like it". OTOH, if three different languages have totally
different structures, and all have been widely praised, then
it's clear it's a personal preference issue.
And if we can say, "all nine libraries we've looked at did it
this way", then the argument to do the same thing is very
strong.
I don't know if this is related or not (I'd think it is), but if
we were to re-think phobos' module organization, we may also want
to think about how we want to deal with changing entire modules
at once.
I'm mostly thinking about things like "random2.d", "xmk2.d" or
whatnot.
Or it could be un-related. Just saying we might want to take this
into account.