Polishing D - suggestions and comments

Sean Kelly sean at f4.ca
Sun Jan 27 10:19:01 PST 2008


Jason House wrote:
> Jesse Phillips wrote:
>> I would like to also state my opinion on the Standard Library matter
>> (coming from someone that hasn't used Tango). Tango should be standard. I
>> don't think Phobos should die, but in general it looks like Tango has
>> taken the lead. This is not to say that the one with the most features
>> wins, but the one that is getting the most project support. Dsource is
>> being filled with Tango based code; even ports from Phobos code bases. In
>> my view the D language contributors have spoken, Tango is the library to
>> use in development.
> 
> I agree that Tango should be considered standard, or at least put on equal
> footing with Phobos, such as releasing dmd with both Phobos and Tango.  Of
> course, Tangobos really makes things simple... Releasing dmd with a combo
> of Tango and Tangobos is probably more consistent.  The only problem I see
> with that is that tango has not been on the D 2.x train.  Maybe just 1.x
> releases should do this?

What's been holding us back thus far there has been the indeterminate
state of 'const'.  However, it seems that the design has been finalized
at this point and the syntax appears unlikely to change as well, so it
may be time to look into making Tango 2.0-compatible.  I'll admit to be
dreading dealing with 'const' changing to 'invariant' however.  For now,
we'll likely avoid the use of 'invariant' completely, simply for
maintenance reasons.

> In my ideal world, as changes to the D compiler occur, some motivated Tango
> maintainer would get advance warning and ensure compatibility prior to
> official release.  I don't know if this simply means branding some Phobos
> maintainers to have a dual role.

For what it's worth, any necessary changes are typically made to the
Tango trunk within 24 hours of a new DMD release.  And now that Phobos
is in SVN I think we are in even better shape, as we are aware of
changes as soon as they are committed to the Phobos project.  But I
agree that having an idea about the timing of new compiler releases as
well as any unannounced changes would improve our responsiveness.

> Personally, I switched from Phobos to Tango when I stumbled upon GC issues
> in Phobos (that were well documented for a very long time) that had been
> fixed in Tango long before I discovered them.  At the time, it looked like
> Tango had better developer support than Phobos.  As an additional
> side-effect, items that I had banged my head against with Phobos were
> solved rather simply with Tango.  These included platform-independent
> timing control and threading.  My only problem with Tango was trying to get
> line-buffered console/file I/O to work.  At the time, the docs in that area
> did not exist.  It wasn't very easy to figure out from API docs.

I agree with this.  Fortunately, the documentation is improving, aided
partially by work done on the book.  However, if you or anyone else has
suggestions on how it might be further improved or are interested in
writing tutorials/examples/whatever, please let us know.  This is one
area where it's easy for people to contribute without worrying about
coding standards, etc.


Sean



More information about the Digitalmars-d mailing list