[phobos] proposal for new top level package name "experimental"

Denis 2korden at gmail.com
Mon Mar 28 23:26:17 PDT 2011


On Tue, Mar 29, 2011 at 5:59 AM, Walter Bright <walter at digitalmars.com> wrote:
>
>
> On 3/28/2011 5:30 PM, Don Clugston wrote:
>>
>> Observation: We still have the 'etc' namespace with practically nothing in
>> it.
>
> I know. But I think etc is a fine place for things like thin interfaces to C
> libraries, which it is currently used for. etc.c.zlib is not an experimental
> module.
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos
>

I was about to suggest something similar, wrote a message but never
sent it because I thought it wouldn't take off. Now that we talk about
it, here is a copy of it below:

We've been talking about newly submitted code review process recently.
I think this a very important step for high quality code inclusion
into Phobos. However, I think that we missed that not only we need to
review all the new code being submitted, but also an existing code,
some of which is old, buggy and unmaintained for years now.

I think everyone agrees that some of it needs to be deprecated.
However, I don't think any of is going away anytime soon.

There is also a few existing modules improvement ideas circulating
around (streams, base64, join etc), but some of the changes may break
an existing code. Andrei tries to fit new design into old syntax,
which is both good (for backwards compatibility) and bad (it's very
limitating).

Also, it might be desired to introduce new features, gather feedback
and (possibly) change some of the public API. This is not a very good
idea for a library that claims to be stable, because of the breaking
changes it might introduce in subsequent releases.

This is why I propose introducing new package into Phobos. I'd call it
just "d". Within that package we could try new different ideas that we
couldn't with std (because, once again, that would break existing
code/TDPL examples).

The main idea behind this is to keep old code working for new Phobos
revisions, while allowing introducing new features without caring much
about backwards compatibility. In a long run, users would only use
"d", and not "std" (unless they need some old stuff) thus effectively
deprecating it.

I know many of you won't like it, but I thought I'd try. What do you
think? Do we need to review all the existing Phobos code, or just take
it as granted that it's "okay"? Is it a good idea to introduce new
package top-level "d" and re-design Phobos from the ground up based on
new API?


More information about the phobos mailing list