Jump to page: 1 2
Thread overview
Tango 0.97 RC1 released
Apr 16, 2007
Lars Ivar Igesund
Apr 16, 2007
Jeff
Apr 16, 2007
Jeff
Apr 16, 2007
Gregor Richards
Apr 16, 2007
torhu
Apr 16, 2007
Justin C Calvarese
Apr 17, 2007
Lars Ivar Igesund
Apr 17, 2007
jcc7
Apr 16, 2007
Aarti_pl
Apr 16, 2007
eao197
Apr 16, 2007
Aarti_pl
Apr 16, 2007
Lars Ivar Igesund
How To Design A Good API and Why it Matters (was Re: Tango 0.97 RC1 released)
Apr 16, 2007
Marcio
Apr 19, 2007
Lars Ivar Igesund
April 16, 2007
Dear D community

This is the first release candidate release of Tango towards 1.0. This is mostly a bugfix release, plus some news in the packaging department. The most important changes are:

 * bundling of DMD
 * fixes for 64 bit use
 * fixes for Mac OSX use
 * daily snapshots
 * executable installers also on Linux

For a complete list, see http://www.dsource.org/projects/tango/wiki/0_97_Changelog. There are still a few rough edges, so we welcome all feedback and testing. Mac OSX functionality has improved a lot, but we are still seing issues, mostly due to differences between GDC and DMD in addition to a couple of show stoppning bugs in the compiler.

DigitalMars has graciously given the Tango team permission to redistribute DMD. This release sees the first packages of these bundles. Executable installers are now also available on Linux, for both DMD and GDC. Please report back on your experiences. Some downloads (GDC mainly) may take up to a day before they are up.

The Tango homepage can be found at http://www.dsource.org/projects/tango

Downloads: http://www.dsource.org/projects/tango/wiki/Download

See http://www.dsource.org/projects/tango/wiki/TopicInstallTango for more detailed installation instructions for your system.

Contact:
http://www.dsource.org/projects/tango/wiki/Contact

Signed,

The Tango Team

http://www.dsource.org/projects/tango/wiki/Contributors

----

Tango is a D library providing a cohesive runtime plus library for the D programming language. A feature list can be found on http://www.dsource.org/projects/tango/wiki/Features
April 16, 2007
Great stuff; I'll certainly be checking this out when I have some time!

One thing I'm very curious about, though: has anything changed to make Tango and Phobos play nicely together (e.g. removal of the hard-coded dependency on libphobos in dmd)? (I've been occupied with uni and work for the last couple of months so I wouldn't have noticed if it had!)

I ask this because I'm really eager to play around with Yage and some other projects that use Phobos, but my every-day use of D is with Tango.
April 16, 2007
While I'm at it, I'll mention a pipe dream of mine, too: programs that use both? If the libraries were adequately segmented, this could be possible, no? :)
April 16, 2007
Lars Ivar Igesund napisał(a):
> Dear D community
> 
> This is the first release candidate release of Tango towards 1.0. This is
> mostly a bugfix release, plus some news in the packaging department. The
> most important changes are:
> 
>  * bundling of DMD
>  * fixes for 64 bit use
>  * fixes for Mac OSX use
>  * daily snapshots
>  * executable installers also on Linux
> 

Great that DMD can be redistributed with Tango. It looks like soon problem of original, messy bundle for DMD will be resolved :-)

I just would like to propose to make few enhancement to current directory structure of installation:

* First - do not assume that people will use only Tango, but no Phobos at all.

Directory structure should allow to have installed Tango *AND* Phobos simultaneously. I propose sth. like this:

|-bin
|-doc         (maybe like on linux: share/doc/tango ??)
|  |-tango
|  |-phobos
|  |-<other libraries>
|
|-example
|  |-tango
|  |-phobos
|  |-<other libraries>
|
|-import
|  |-tango
|  |-phobos
|  |-<other libraries>
|
|-lib
|  |-tango
|  |   |
|  |  <libs>
|  |
|  |-phobos
|  |   |
|  |  <libs>
|  |
|  <common libs>
|
README.txt


I know that Tango is replacement for Phobos, so you may think that it is  unnecessary work to provide additional support for it. But I think it will make Tango more popular allowing people to use easily both libraries as necessary. Probably you could even consider to include sources for Phobos in bundle (if Walter allows it).

* Second - dsss and rebuild should be bundled with Tango. Rdmd should be merged to rebuild and removed from bundle then (I've put ticket for this enhancement for rebuild).

* Third - there should be dmdc script (second one from Andrei, which generates dmd.sc/dmd.conf for Tango or Phobos). This script could even scan import directory for paths to other libraries and generate proper script.

Thanks for addressing issues with uncomfortable installation of DMD and libraries for D!

Best Regards
Marcin Kuszczak
April 16, 2007
On Mon, 16 Apr 2007 12:18:49 +0400, Aarti_pl <aarti@interia.pl> wrote:

> * Third - there should be dmdc script (second one from Andrei, which generates dmd.sc/dmd.conf for Tango or Phobos). This script could even scan import directory for paths to other libraries and generate proper script.

Such script is not a good solution when it is possible to run several copies of dmd at one time (from different consoles for example) and one of copy use Phobos and another Tango.

-- 
Regards,
Yauheni Akhotnikau
April 16, 2007
Jeff wrote:
> While I'm at it, I'll mention a pipe dream of mine, too: programs that use both? If the libraries were adequately segmented, this could be possible, no? :)

I've created a compatibility layer, tangobos. It's mainly intended for porting (since porting incrementally is infinitely easier than porting in one blow), but I think it could also be useful for using Phobos libraries which you don't control in a Tango app, since it would be a bit silly to maintain a fork of an active app just because it doesn't use the right core library.

It's a bit controversial though :P

Tangobos doesn't have a home page yet, but stay tuned.

 - Gregor Richards

PS: Yes, I love Tango, and am indeed a Tango team member, I'm just also a realist.
April 16, 2007
eao197 napisał(a):
> On Mon, 16 Apr 2007 12:18:49 +0400, Aarti_pl <aarti@interia.pl> wrote:
> 
>> * Third - there should be dmdc script (second one from Andrei, which generates dmd.sc/dmd.conf for Tango or Phobos). This script could even scan import directory for paths to other libraries and generate proper script.
> 
> Such script is not a good solution when it is possible to run several copies of dmd at one time (from different consoles for example) and one of copy use Phobos and another Tango.
> 
> --Regards,
> Yauheni Akhotnikau

When you need customized solution there is no way to find one which will  satisfy all people. In case you have described I would say that it is rather unusual that someone parallely use Phobos and Tango (just my bet).

Script can be easy customized to generate  dmd.sc / dmd.conf to current working directory rather than to bin directory. Then you can use Tango AND Phobos parallely.

BR
Marcin Kuszczak
aarti_pl
April 16, 2007
Gregor Richards wrote:
> I've created a compatibility layer, tangobos. It's mainly intended for porting (since porting incrementally is infinitely easier than porting in one blow), but I think it could also be useful for using Phobos libraries which you don't control in a Tango app, since it would be a bit silly to maintain a fork of an active app just because it doesn't use the right core library.
> 
> It's a bit controversial though :P
> 
> Tangobos doesn't have a home page yet, but stay tuned.

This is just what I need, and I need it today! :D
April 16, 2007
Lars Ivar Igesund wrote:

> For a complete list, see
> http://www.dsource.org/projects/tango/wiki/0_97_Changelog. There are still
> a few rough edges, so we welcome all feedback and testing. Mac OSX
> functionality has improved a lot, but we are still seing issues, mostly due
> to differences between GDC and DMD in addition to a couple of show
> stoppning bugs in the compiler.

The easiest way of installing Tango on Mac OS X is installing a fresh copy of GDC (and Rebuild) in a separate directory, like /opt/gdc or so.
Then set the PATH to this alternative prefix (PATH=/opt/gdc/bin:$PATH),
and build/install Tango there and finally use Rebuild to build programs.

So to use the regular library you would call /usr/bin/gdc (e.g. gdcmac),
and to use the alternative library it would call upon /opt/gdc/bin/gdc.

--anders
April 16, 2007
Aarti_pl wrote:

> Lars Ivar Igesund napisał(a):
>> Dear D community
>> 
>> This is the first release candidate release of Tango towards 1.0. This is mostly a bugfix release, plus some news in the packaging department. The most important changes are:
>> 
>>  * bundling of DMD
>>  * fixes for 64 bit use
>>  * fixes for Mac OSX use
>>  * daily snapshots
>>  * executable installers also on Linux
>> 
> 
> Great that DMD can be redistributed with Tango. It looks like soon problem of original, messy bundle for DMD will be resolved :-)
> 
> I just would like to propose to make few enhancement to current directory structure of installation:
> 
> * First - do not assume that people will use only Tango, but no Phobos at all.

I don't think we do, but I am sure there's still room for improvement. Having imports for both should work out fine, having two libphobos.a/phobos.lib around is worse (without changing configurations, or actually having two installs).

> 
> Directory structure should allow to have installed Tango *AND* Phobos simultaneously. I propose sth. like this:
> 
> |-bin
> |-doc         (maybe like on linux: share/doc/tango ??)
> |  |-tango
> |  |-phobos
> |  |-<other libraries>

A better solution for the docs is definately something we want.

> |
> |-example
> |  |-tango
> |  |-phobos
> |  |-<other libraries>
> |
> |-import
> |  |-tango
> |  |-phobos
> |  |-<other libraries>
> |
> |-lib
> |  |-tango
> |  |   |
> |  |  <libs>
> |  |
> |  |-phobos
> |  |   |
> |  |  <libs>
> |  |
> |  <common libs>
> |
> README.txt

We will certainly look at the above proposal for directory structure.

> 
> I know that Tango is replacement for Phobos, so you may think that it is
>   unnecessary work to provide additional support for it. But I think it
> will make Tango more popular allowing people to use easily both
> libraries as necessary. Probably you could even consider to include
> sources for Phobos in bundle (if Walter allows it).

I am pretty sure redistribution of the source is no problem, but we do consider it a problem to (officially) distribute something that we don't mantain ourselves. Gregor's tangobos effort may very well be the easier solution in most cases where one is in need of using both, and I expect that one to be available via DSSS.

> 
> * Second - dsss and rebuild should be bundled with Tango. Rdmd should be merged to rebuild and removed from bundle then (I've put ticket for this enhancement for rebuild).

We will most likely make such a bundle (there already is for GDC), but we will still need packages not depending on it. We may also label it unofficial, given that DSSS/Rebuild is no Tango project per se.

> 
> * Third - there should be dmdc script (second one from Andrei, which generates dmd.sc/dmd.conf for Tango or Phobos). This script could even scan import directory for paths to other libraries and generate proper script.

Feel free to approach is with further suggestions on this.

> 
> Thanks for addressing issues with uncomfortable installation of DMD and libraries for D!

We are trying - but as of yet we do not want to provide official distributions for tools/libraries not part of Tango itself (the compilers being notable exceptions).

We may set up a page for more unoffical distributions however, if they can be easily mantained and updated. Typical problems with such setups though, are related to tool and library updates outside the Tango release cycle, which is why tools such as DSSS probably will become much more useful in the long run.

Further we would like to provide improved support for the different package distribution systems on Linux and other platforms, if someone would like to help out with creating such packaging.

-- 
Lars Ivar Igesund
blog at http://larsivi.net
DSource, #d.tango & #D: larsivi
Dancing the Tango
« First   ‹ Prev
1 2