Phango

Sean Kelly sean at f4.ca
Fri Nov 16 08:04:38 PST 2007


Janice Caron wrote:
> On 11/16/07, Alexander Panek <alexander.panek at brainsware.org> wrote:
>
>> Just curious: why don't you use Tango and the freestanding functions of
>> Phobos
> 
> Lot of reasons.
> 
> (1) If an engine ain't broke, don't fix it.

Not to plug the Tango engine, but it does actually fix a number of bugs 
which are listed in the D bug tracker and have not been fixed in Phobos.

> (2) I like D2.007, and I'll be switching to D2.008 the day it comes out.
> 
> (3) I hate Tango, stylisticly. I hate the mixed case module names, and
> the mixed case global variable names (e.g. Stdout). I want everything
> to look and feel like Phobos.

I'm not a huge fan of the mixed case global variable names either, but 
it does help them stand out, which I think is the point.  The mixed case 
module names help make multi-word names more readable and also help 
distinguish from directories, which is an advantage in such a large 
library.  The C module names have been left lowercase to match the 
original C names and to provide a visual distinction between the API 
layer and Tango.

> (4) Walter has been doing this for seven years or whatever, and has
> earned my greatest respect. Ripping out the innards of D scares the
> shit out of me - and not only that, I see no reason why I should have
> to.

For what it's worth, the Tango core is based on Ares, which began as a 
project perhaps four years ago (I've lost track).  So the Tango runtime 
isn't perhaps quite as new as it may seem.

> This way, I get to use the latest cutting-edge version of D, I can
> make all the module names lowercase (yes, that matters!), and though
> things like Stdout(x).newline compile and run, I don't have to use
> them - I'll be able to throw in nicer looking functions that do the
> same thing.

This is what wrapper functions are for, in my opinion.  But then Tango 
was created because of a dissatisfaction with Phobos, so I can't really 
object to a dissatisfaction with Tango ;-)


Sean



More information about the Digitalmars-d mailing list