Expanding Phobos from a flat hierachy

monarch_dodra monarchdodra at gmail.com
Wed Feb 6 02:28:25 PST 2013


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.


More information about the Digitalmars-d mailing list