February 08, 2008
Tim Burrell wrote:
> The problem is really that while, yes, Walter has provided bug fixes, he
> hasn't gone the distance in opening up Phobos to other contributors.
> There are patch submissions that would fix critical bugs that are months
> and months old (there's even a good example on the NG today from Downs).
> 
> Phobos development isn't keeping up with demand.  Many people are
> frustrated at long standing bugs in Phobos.  Now look at the situation,
> we've got two standard libraries, where MOST of the D community is
> opting for a library OTHER THAN the alternative!

Speaking of bugs. If Phobos ceases to be the standard library, then bugs in Phobos should be excised from bugzilla, and a separate bug tracker should be created for the standard library.

> It's not a healthy state of affairs!
> 
> Phobos will _never_ be able to keep up with Tango in terms of
> reliability, quality, etc, simply because Phobos isn't really open.
> Even just on a pure man hours scale -- Walter can't do it all, nor
> should he have to.  He's designed a really great language, but I think
> it's time to pass the torch on the standard library.

Now Andrei and Brad are working on Phobos, and I think Walter doesn't do much with it. But that's two people instead of probably a dozen or so who actively work on Tango.

> You can have your cake and eat it too!  Everything's basically already
> in place!  A new standard library that is open, well maintained, and
> that has Phobos compatibility available.

Right. Walter just has to tell Brad and Andrei to use that instead and drop it in the zipfile with each release. And probably send a prerelease version of the compiler to Sean and Kris a day or two before, which he already has to do with Andrei and Brad... So it's pretty much no extra work for him.

February 08, 2008
Tim Burrell wrote:
> Michel Fortin wrote:
>> Personally, I'd prefer to see Phobos kept as the standard library and improved technically to the level Tango is at now.
> 
> The problem is, you can't keep Phobos and have it improved technically.
>  It's just not going to happen, that's the whole reason this thread was
> started!
> 
> Walter isn't doing his job when it comes to maintaining Phobos, and he
> isn't opening it up to the contributors who are willing to help!

That isn't true. Phobos is now on dsource, and several of us have been given commit access to it. Unfortunately the procedure for commiting changes isn't quite clear yet.
I'm working on making the mathematics of Phobos and Tango compatible; hopefully we'll end up with a single code base.

> 
> Also, there's _already_ an existing compatibility layer for Tango that
> allows you to use the Phobos API with the quality of Tango.
> 
> I think we'd all prefer to see Phobos improved technically, but it's
> just not happening.  And fact is, we have a dedicated team who have put
> together a quality library, that has a full implementation of Phobos
> built on top of it (which is also more efficient than Phobos).
> 
> That being said, most people do prefer the Tango API over Phobos, so if
> the majority of the D community is saying "let's do this!", and given
> that there's really no reason not to (ie people who like Phobos can
> still use Phobos), AND given that Walter has proven he's not interested
> in doing a proper job at maintaining Phobos, it just doesn't make sense
> to keep it around.
> 
> Tim.
February 08, 2008
Don Clugston wrote:
> That isn't true. Phobos is now on dsource, and several of us have been given
> commit access to it. Unfortunately the procedure for commiting changes isn't
> quite clear yet.
> I'm working on making the mathematics of Phobos and Tango compatible; hopefully
> we'll end up with a single code base.

Wow that's great news!  Have you opened a discussion with the Tango devs yet?  I'm sure they'd be receptive to providing input.
February 08, 2008
== Quote from Tim Burrell (tim@timburrell.net)'s article
> Don Clugston wrote:
...
> > I'm working on making the mathematics of Phobos and Tango compatible; hopefully we'll end up with a single code base.
>
> Wow that's great news!  Have you opened a discussion with the Tango devs yet?  I'm sure they'd be receptive to providing input.

I was under the impression that Don was one of the Tango devs. ;) http://www.dsource.org/projects/tango/wiki/Contributors
February 08, 2008
jcc7 wrote:
> == Quote from Tim Burrell (tim@timburrell.net)'s article
>> Don Clugston wrote:
> ...
>> > I'm working on making the mathematics of Phobos and Tango compatible; hopefully we'll end up with a single code base.
>>
>> Wow that's great news!  Have you opened a discussion with the Tango devs yet?  I'm sure they'd be receptive to providing input.
> 
> I was under the impression that Don was one of the Tango devs. ;) http://www.dsource.org/projects/tango/wiki/Contributors

Oh... haha... well scratch that then :).

The idea of a single code base is pretty enticing to me.  I was just trying to get a feel for how plausible it is that it might happen.
February 08, 2008
downs wrote:
> Robert Fraser wrote:
>> Demanding hundreds of benchmarks is slightly unreasonable IMO; there are already some benchmarks (I doubt there will ever be hundreds) showing that Tango's IO is faster than Phobos's, and Phobos has adopted the Tango GC
> 
> It has? Boy that would make me happy, but I wasn't aware of it.
> 
> Could you post a source, please?

It hasn't, though the GC code Phobos 2.0 is structurally closer to what's in Tango.  That was a deliberate effort made by Brad to facilitate future merges.


Sean
February 08, 2008
Tim Burrell wrote:
> Don Clugston wrote:
>> That isn't true. Phobos is now on dsource, and several of us have been given
>> commit access to it. Unfortunately the procedure for commiting changes isn't
>> quite clear yet.
>> I'm working on making the mathematics of Phobos and Tango compatible; hopefully
>> we'll end up with a single code base.
> 
> Wow that's great news!  Have you opened a discussion with the Tango devs yet?  I'm sure they'd be receptive to providing input.

For what it's worth, I have commit access to Phobos as well.  But As Don said, the protocol for committing changes isn't entirely clear yet.  My role with Phobos thus far has just been to approve various changes, and that's likely how it will continue.  Tango consumes all of my free coding time.


Sean
February 08, 2008
Tim Burrell wrote:
> jcc7 wrote:
>> == Quote from Tim Burrell (tim@timburrell.net)'s article
>>> Don Clugston wrote:
>> ...
>>>> I'm working on making the mathematics of Phobos and Tango
>>>> compatible; hopefully we'll end up with a single code base.
>>> Wow that's great news!  Have you opened a discussion with the Tango
>>> devs yet?  I'm sure they'd be receptive to providing input.
>> I was under the impression that Don was one of the Tango devs. ;)
>> http://www.dsource.org/projects/tango/wiki/Contributors

Yeah, Don and I are in pretty close contact <g>.

> 
> Oh... haha... well scratch that then :).
> 
> The idea of a single code base is pretty enticing to me.  I was just
> trying to get a feel for how plausible it is that it might happen.

I'm doing my best to make sure it happens. With the I/O stuff, you're dealing with two almost completely independent code bases (as I understand it, the key difference is that Tango jettisons C style I/O in exchange for performance and various other benefits), but most of the other stuff is ultimately the same code (there's a fair bit of Tango code which began life in Phobos).
After all, Phobos isn't really very big -- there's some stuff in there like std.openrj which is entirely peripheral.
February 08, 2008
Tim Burrell wrote:
> jcc7 wrote:
>> == Quote from Tim Burrell (tim@timburrell.net)'s article
>>> Don Clugston wrote:
>> ...
>>>> I'm working on making the mathematics of Phobos and Tango compatible; hopefully we'll end up with a single code base.
>>> Wow that's great news!  Have you opened a discussion with the Tango devs yet?  I'm sure they'd be receptive to providing input.
>> I was under the impression that Don was one of the Tango devs. ;) http://www.dsource.org/projects/tango/wiki/Contributors
> 
> Oh... haha... well scratch that then :).
> 
> The idea of a single code base is pretty enticing to me.  I was just trying to get a feel for how plausible it is that it might happen.

That's pretty much Tango with Tangobos in a nutshell.  If things were to
flip in the other direction, then portions of tango.core would be an
issue because they are user-visible runtime features.  Maintenance of
this code would need to be addressed, as well as the location where it's
exposed.
 It's less of a problem to run Phobos on the Tango runtime (ie.
Tangobos) because essentially all of Phobos is runtime agnostic, and the
runtime features are exposed in a much more haphazard manner (which
actually makes it easier to safely ignore them).  For example, Phobos
contains a bunch of modules in std that is actually runtime code:
std.array, std.asserterror, std.outofmemory, etc.  The user is really
supposed to actually ignore all of these modules, so there's no reason
to expose them in Tangobos at all.

If you're interested, diff Tangobos with Phobos.  I think you'll find that the only modules with any changes at all are std.thread and std.signals.  The rest all works basically without any changes at all. The opposite would not be true of Tango however, because of the additional runtime features provided and the structured manner in which they are exposed.


Sean
February 08, 2008
== Quote from bearophile (bearophileHUGS@lycos.com)'s article
> dominik:
> > walter did AWHILE ago Bigint implementation
> > for zortech I believe, wouldn't it be nice to make it a part of D,
> > not library per se? Be ti simple BCD implementation, I don't care,
> > but I care for BigInt.
>
> I'd like to have such bignum lib in the std lib. If someone here knows of a *working* bignum lib, please tell me, because I have tried many but none works.

I've never needed a bignum lib, so I don't know what actually might work.

Have you tried the bigint in DWin? http://www.dsource.org/projects/dwin/browser/trunk/math/bigint/

I think it's an updated version of the bigint in Deimos: http://www.dsource.org/projects/deimos/browser/trunk/etc/bigint

Other related things in Deimos: http://www.dsource.org/projects/deimos/browser/trunk/etc/bigrational.d http://www.dsource.org/projects/deimos/browser/trunk/etc/longrational.d