www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Tango 0.95 beta1 released

reply Lars Ivar Igesund <larsivar igesund.net> writes:
Dear D community

The first public release of Tango is now ready for download.

Tango is a D library that provides a runtime for the D programming language,
plus many additional library features for the D programmer. Further growth
and sharpening of quality is expected for coming releases.

A feature list can be found on
http://www.dsource.org/projects/tango/wiki/Features

Extensive work has been put into documenting the basic features, and in
trying to make usage and installation easy for as many as possible.
Platform support will be provided with the help of the users. Win32, Posix
x86 and PPC have currently received most testing.

Tango is not yet fully polished, but the last few weeks have seen efforts to
solve toolchain problems, cleaning operations, documentation production, an
improved website and more. Hopefully you will find it a useful addition to
the D world, and feedback will gladly be accepted.

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

Downloads:

Graphical installer for Windows -
http://63.99.9.206/tango/downloads/setup-tango-0.95-beta1.exe

Zip file -
http://63.99.9.206/tango/downloads/tango-0.95-beta1-src.zip

tar.gz file -
http://63.99.9.206/tango/downloads/tango-0.95-beta1-src.tar.gz

See http://www.dsource.org/projects/tango/wiki/Download for other
alternatives like access to SVN repositories.

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
Jan 31 2007
next sibling parent =?ISO-8859-1?Q?Julio_C=E9sar_Carrascal_Urquijo?= writes:
Lars Ivar Igesund wrote:
 Dear D community
 
 The first public release of Tango is now ready for download.
...
 A feature list can be found on
 http://www.dsource.org/projects/tango/wiki/Features
 
Wow. Very impressive set of features. I was waiting for this, thanks.
Jan 31 2007
prev sibling next sibling parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Lars Ivar Igesund wrote:
 Dear D community
 
 The first public release of Tango is now ready for download.
W00t! Looks fabulous, and right on schedule, too. The future is looking bright indeed. One thing I couldn't find browsing thought the docs: what's the situation with the GC? Have Walter's type-aware additions made it in? Or is it still necessary to add manual "no_pointers_here" calls in the Tango GC to avoid scans non-pointer memory blocks? One more question -- is there some kind of compile-time version check that can be used in code to determine if Tango is being used or not? I suspect there's going to be a transition period here where people would like to support both Phobos and Tango for those who haven't bit the Tango bullet yet. --bb
Jan 31 2007
next sibling parent Kirk McDonald <kirklin.mcdonald gmail.com> writes:
Bill Baxter wrote:
 Lars Ivar Igesund wrote:
 
 Dear D community

 The first public release of Tango is now ready for download.
W00t! Looks fabulous, and right on schedule, too. The future is looking bright indeed. One thing I couldn't find browsing thought the docs: what's the situation with the GC? Have Walter's type-aware additions made it in? Or is it still necessary to add manual "no_pointers_here" calls in the Tango GC to avoid scans non-pointer memory blocks? One more question -- is there some kind of compile-time version check that can be used in code to determine if Tango is being used or not? I suspect there's going to be a transition period here where people would like to support both Phobos and Tango for those who haven't bit the Tango bullet yet. --bb
Yes, the "Tango" flag should be added to sc.ini (or equivalent) when Tango is installed. A Tango install which does not define the "Tango" version flag should be considered a broken install. -- Kirk McDonald Pyd: Wrapping Python with D http://pyd.dsource.org
Jan 31 2007
prev sibling parent reply Sean Kelly <sean f4.ca> writes:
Bill Baxter wrote:
 Lars Ivar Igesund wrote:
 Dear D community

 The first public release of Tango is now ready for download.
W00t! Looks fabulous, and right on schedule, too. The future is looking bright indeed. One thing I couldn't find browsing thought the docs: what's the situation with the GC? Have Walter's type-aware additions made it in?
Yes. Type-awareness was added as soon as the DMD bugs were sorted out.
 Or is it still necessary to add manual "no_pointers_here" calls in the 
 Tango GC to avoid scans non-pointer memory blocks?
Previously, Tango keyed on element size so the "no pointers here" calls still really weren't necessary as a default measure. But with type awareness things are still obviously much improved :-)
 One more question -- is there some kind of compile-time version check 
 that can be used in code to determine if Tango is being used or not?
 I suspect there's going to be a transition period here where people 
 would like to support both Phobos and Tango for those who haven't bit 
 the Tango bullet yet.
The manual install guide suggests adding a "-version=Tango" to DFLAGS for DMD, and the equivalent for GDC. And I believe the installers will take care of this for you as well. Sean
Jan 31 2007
parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Sean Kelly wrote:
 Bill Baxter wrote:
 Lars Ivar Igesund wrote:
 Dear D community

 The first public release of Tango is now ready for download.
W00t! Looks fabulous, and right on schedule, too. The future is looking bright indeed. One thing I couldn't find browsing thought the docs: what's the situation with the GC? Have Walter's type-aware additions made it in?
Yes. Type-awareness was added as soon as the DMD bugs were sorted out.
 Or is it still necessary to add manual "no_pointers_here" calls in the 
 Tango GC to avoid scans non-pointer memory blocks?
Great.
 Previously, Tango keyed on element size so the "no pointers here" calls 
 still really weren't necessary as a default measure.  But with type 
 awareness things are still obviously much improved :-)
Well, I'm concerned primarily with large blocks of floats and doubles, so I don't think the element size optimization would have benefited me much.
 One more question -- is there some kind of compile-time version check 
 that can be used in code to determine if Tango is being used or not?
 I suspect there's going to be a transition period here where people 
 would like to support both Phobos and Tango for those who haven't bit 
 the Tango bullet yet.
The manual install guide suggests adding a "-version=Tango" to DFLAGS for DMD, and the equivalent for GDC. And I believe the installers will take care of this for you as well.
Great. I see it now. To Kirk -- if no -version=Tango flag means a broken Tango, then the wording on the Windows install page should probably be made a little stronger: http://www.dsource.org/projects/tango/wiki/WindowsInstall It currently describes the flag as "optional". --bb
Jan 31 2007
parent Kirk McDonald <kirklin.mcdonald gmail.com> writes:
Bill Baxter wrote:
 To Kirk -- if no -version=Tango flag means a broken Tango, then the 
 wording on the Windows install page should probably be made a little 
 stronger:
    http://www.dsource.org/projects/tango/wiki/WindowsInstall
 It currently describes the flag as "optional".
 
In my view, if the flag is not mandatory, it is useless. (I want to be able to write code that relies on it.) -- Kirk McDonald Pyd: Wrapping Python with D http://pyd.dsource.org
Jan 31 2007
prev sibling next sibling parent reply ns <ns dummy.com> writes:
I hope this is not a wrong question to ask, is there any possibility for 
any gui lib to make it to Tango ? I would really like to see a gui lib 
with some great support.

:o)
SK
Jan 31 2007
parent kris <foo bar.com> writes:
ns wrote:
 I hope this is not a wrong question to ask, is there any possibility for 
 any gui lib to make it to Tango ? I would really like to see a gui lib 
 with some great support.
 
 :o)
 SK
GUI is something that's being actively pursued. There will be at least one Tango gui lib but it won't be in the core lib per se, since we intend to keep that 'tight' and 'agnostic' - Kris
Jan 31 2007
prev sibling next sibling parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Lars Ivar Igesund wrote:
 Dear D community
 
 The first public release of Tango is now ready for download.
Can you folks comment on what you see as the the transition plan? The migration document does a decent job explaining how to convert from Phobos over to Tango whole hog, but realistically not everyone can make this transition overnight. So anyone writing libraries intended for consumption by 3rd parties is faced with the options of A) Port whole hog -- abandoning any users who are stuck with Phobos B) Don't port at all -- annoying any users hoping to move to Tango C) Port while maintaining compatibility -- annoying the poor me who has to deal with incompatibilities in the most basic functions (e.g. toString, writefln) Option C) seems like the most logical. And given that, it seems like a compatibility library would be helpful. Some way to make it easier to write code that looks mostly like Tango code with a minimum of version statements, but which actually calls on Phobos at the bottom layers. Or maybe I've misunderstood the options. Given the new GC and new Object class it seems like any use of Tango with Phobos is radioactive and fraught with peril, but maybe its not so bad? For example, can one use the io framework from Tango while still using Phobos as the std lib? Anyway, I think a page on how to migrate from Phobos to Tango while mainintaining backwards compatibility would be of great use to library writers. --bb
Jan 31 2007
next sibling parent reply Gregor Richards <Richards codu.org> writes:
Bill Baxter wrote:
 Lars Ivar Igesund wrote:
 
 Dear D community

 The first public release of Tango is now ready for download.
Can you folks comment on what you see as the the transition plan? The migration document does a decent job explaining how to convert from Phobos over to Tango whole hog, but realistically not everyone can make this transition overnight. So anyone writing libraries intended for consumption by 3rd parties is faced with the options of A) Port whole hog -- abandoning any users who are stuck with Phobos B) Don't port at all -- annoying any users hoping to move to Tango C) Port while maintaining compatibility -- annoying the poor me who has to deal with incompatibilities in the most basic functions (e.g. toString, writefln) Option C) seems like the most logical. And given that, it seems like a compatibility library would be helpful. Some way to make it easier to write code that looks mostly like Tango code with a minimum of version statements, but which actually calls on Phobos at the bottom layers. Or maybe I've misunderstood the options. Given the new GC and new Object class it seems like any use of Tango with Phobos is radioactive and fraught with peril, but maybe its not so bad? For example, can one use the io framework from Tango while still using Phobos as the std lib? Anyway, I think a page on how to migrate from Phobos to Tango while mainintaining backwards compatibility would be of great use to library writers. --bb
I and several others are trying to garner an effort to essentially port Phobos to Tango in such a way that most Phobos software could be compiled verbatim. This is the best option in my opinion, because it provides full backwards compatibility. - Gregor Richards
Jan 31 2007
parent Lars Ivar Igesund <larsivar igesund.net> writes:
Gregor Richards wrote:

 Bill Baxter wrote:
 Lars Ivar Igesund wrote:
 
 Dear D community

 The first public release of Tango is now ready for download.
Can you folks comment on what you see as the the transition plan? The migration document does a decent job explaining how to convert from Phobos over to Tango whole hog, but realistically not everyone can make this transition overnight. So anyone writing libraries intended for consumption by 3rd parties is faced with the options of A) Port whole hog -- abandoning any users who are stuck with Phobos B) Don't port at all -- annoying any users hoping to move to Tango C) Port while maintaining compatibility -- annoying the poor me who has to deal with incompatibilities in the most basic functions (e.g. toString, writefln) Option C) seems like the most logical. And given that, it seems like a compatibility library would be helpful. Some way to make it easier to write code that looks mostly like Tango code with a minimum of version statements, but which actually calls on Phobos at the bottom layers. Or maybe I've misunderstood the options. Given the new GC and new Object class it seems like any use of Tango with Phobos is radioactive and fraught with peril, but maybe its not so bad? For example, can one use the io framework from Tango while still using Phobos as the std lib? Anyway, I think a page on how to migrate from Phobos to Tango while mainintaining backwards compatibility would be of great use to library writers. --bb
I and several others are trying to garner an effort to essentially port Phobos to Tango in such a way that most Phobos software could be compiled verbatim. This is the best option in my opinion, because it provides full backwards compatibility. - Gregor Richards
There already is the tango.phobos project at DSource which contains a "port" of Phobos, although unsupported by the Tango team. It has changed all std. to phobos. and been made to work with the Tango runtime. There are a couple of catches with this version. Firstly, threading is tightly integrated with the GC and as such the Tango threading should be used, secondly it has afaik only (or mostly) been tested on Linux and with DMD. What is there should be up-to-date with DMD 1.004, but no guarantees. Anyone who wants to get involved are free to do so :) -- Lars Ivar Igesund blog at http://larsivi.net DSource & #D: larsivi Dancing the Tango
Feb 01 2007
prev sibling next sibling parent Sean Kelly <sean f4.ca> writes:
Bill Baxter wrote:
 Lars Ivar Igesund wrote:
 Dear D community

 The first public release of Tango is now ready for download.
Can you folks comment on what you see as the the transition plan? The migration document does a decent job explaining how to convert from Phobos over to Tango whole hog, but realistically not everyone can make this transition overnight. So anyone writing libraries intended for consumption by 3rd parties is faced with the options of A) Port whole hog -- abandoning any users who are stuck with Phobos B) Don't port at all -- annoying any users hoping to move to Tango C) Port while maintaining compatibility -- annoying the poor me who has to deal with incompatibilities in the most basic functions (e.g. toString, writefln)
I don't know that this is entirely fair--you paint the existence of Tango as annoying in three entirely different ways :-). That said, code compatibility issues are (hopefully) not a long-term problem as people will either port their code or they won't. What worries me personally about presenting option C as an official alternative is that it places us (ie. the Tango team) in a position of supporting a Phobos facade for a potentially indefinite period.
 Option C) seems like the most logical.  And given that, it seems like a 
 compatibility library would be helpful.  Some way to make it easier to 
 write code that looks mostly like Tango code with a minimum of version 
 statements, but which actually calls on Phobos at the bottom layers.
I think it would be more the reverse. A library that looks like Phobos but calls Tango at the bottom layers. But it's still a lot of code to maintain that has no direct relation to the project. Perhaps such a thing could be created and managed separately? Sean
Jan 31 2007
prev sibling parent reply Lionello Lunesu <lio lunesu.remove.com> writes:
Bill Baxter wrote:

 C) Port while maintaining compatibility -- annoying the poor me who has 
 to deal with incompatibilities in the most basic functions (e.g. 
 toString, writefln)
I too wonder why those were changed. Why not leave them be? What's so terrible about toString? It returns a string, doesn't it? Furthermore, there's no toUTF16, toUTF32, so what's the point? Seems like a change for the sake of being different. L.
Feb 01 2007
next sibling parent reply kris <foo bar.com> writes:
Lionello Lunesu wrote:
 Bill Baxter wrote:
 
 C) Port while maintaining compatibility -- annoying the poor me who 
 has to deal with incompatibilities in the most basic functions (e.g. 
 toString, writefln)
I too wonder why those were changed. Why not leave them be? What's so terrible about toString? It returns a string, doesn't it? Furthermore, there's no toUTF16, toUTF32, so what's the point? Seems like a change for the sake of being different. L.
Well, that's not entirely fair :) You mention two specific areas: 1) writefln does not support the functionality we needed. It has no support for either Locales, or for indexing the arguments themselves (both for supporting I18N). We decided to go a different route, because we beleive I18N is important enough to warrant some direct attention. (locale is not quite fully enabled in this release, but it will be in the next one). It would be cool if you ported the writefln code though, as an external option -- we can't expect I18N support to be to everyone's liking. 2) there's no toUtf16() and toUtf32()? This is not the case. Tango uses those in a number of modules to do just what they indicate. There are modules that expose all three ... in certain cases they're also templated for the base type that you want stored within (e.g. store as dchar, expose as all three types). This really was a not an easy decision for us to take, as I'm sure you can imagine. Tango is what it is, and yet is open to change too. There's a /lot/ of people involved as you can see on the site, and I do hope you'll give it a good look?
Feb 01 2007
parent reply Lionello Lunesu <lio lunesu.remove.com> writes:
kris wrote:
 Lionello Lunesu wrote:
 Bill Baxter wrote:

 C) Port while maintaining compatibility -- annoying the poor me who 
 has to deal with incompatibilities in the most basic functions (e.g. 
 toString, writefln)
I too wonder why those were changed. Why not leave them be? What's so terrible about toString? It returns a string, doesn't it? Furthermore, there's no toUTF16, toUTF32, so what's the point? Seems like a change for the sake of being different. L.
Well, that's not entirely fair :) You mention two specific areas: 1) writefln does not support the functionality we needed. It has no support for either Locales, or for indexing the arguments themselves (both for supporting I18N). We decided to go a different route, because we beleive I18N is important enough to warrant some direct attention. (locale is not quite fully enabled in this release, but it will be in the next one).
A noble cause, for sure, and I'm glad you did it. I just think that porting from phobos should be a no-brainer.
 It would be cool if you ported the writefln code though, as an external 
 option -- we can't expect I18N support to be to everyone's liking.
Maybe I will ;)
 2) there's no toUtf16() and toUtf32()? This is not the case. Tango uses 
 those in a number of modules to do just what they indicate. There are 
 modules that expose all three ... in certain cases they're also 
 templated for the base type that you want stored within (e.g. store as 
 dchar, expose as all three types).
Obviously, I was talking about Object.toString. Changing Object creates unnecessary incompatibilities.
 This really was a not an easy decision for us to take, as I'm sure you 
 can imagine.
 
 Tango is what it is, and yet is open to change too. There's a /lot/ of 
 people involved as you can see on the site, and I do hope you'll give it 
 a good look?
I definitely will. I, like most people, have been waiting for a general framework to appear and Tango is the best :) So far :) Maybe my post was too harsh, I really appreciate the effort put in Tango. D needs Tango. L.
Feb 01 2007
parent Sean Kelly <sean f4.ca> writes:
Lionello Lunesu wrote:
 kris wrote:
 2) there's no toUtf16() and toUtf32()? This is not the case. Tango 
 uses those in a number of modules to do just what they indicate. There 
 are modules that expose all three ... in certain cases they're also 
 templated for the base type that you want stored within (e.g. store as 
 dchar, expose as all three types).
Obviously, I was talking about Object.toString. Changing Object creates unnecessary incompatibilities.
This was a difficult decision for us. Technically, Object.toString doesn't return a string, it returns a char array (ie. a sequence of UTF-8 characters). Thus, toUtf8 is a more meaningful term for what the method actually does. Another reason we chose this route is because Tango has a string class, and toString suggests that an instance of this class would be returned. I suppose it's worth mentioning, however, that toString support for structs has not been changed because it is a compiler feature, and the disparity bothers me. Fortunately, toString isn't required for IO in Tango so the issue hasn't come up in practice. Sean
Feb 01 2007
prev sibling parent Lars Ivar Igesund <larsivar igesund.net> writes:
Lionello Lunesu wrote:

 Bill Baxter wrote:
 
 C) Port while maintaining compatibility -- annoying the poor me who has
 to deal with incompatibilities in the most basic functions (e.g.
 toString, writefln)
I too wonder why those were changed. Why not leave them be? What's so terrible about toString? It returns a string, doesn't it? Furthermore, there's no toUTF16, toUTF32, so what's the point? Seems like a change for the sake of being different. L.
This has been argued before on these newsgroups. It is a change for the sake of consistency and correctness, nothing else, and Walter stated that this would be a better solution, except that he finds the symbol ugly (!). Tango does have a String class and I believe it would be misleading to return d/w/char[] from toString in that case. -- Lars Ivar Igesund blog at http://larsivi.net DSource & #D: larsivi Dancing the Tango
Feb 01 2007
prev sibling next sibling parent Dejan Lekic <dejan.lekic gmail.com> writes:
Good work guys! Keep going! :)

Even though I like Tango project, I would never abandon Phobos, because I like
Phobos simplicity (ie. it is not "too much OO"). As we discussed this many
times on IRC, many other people think this way.
Whenever I come to something I do not like in Phobos, I would either post some
suggestion to Phobos maintainer, or develop my own module which adds needed
functionality.
Tango is realy a GOOD and HUGE work, and as someone said previously - if You
realy want Tango as replacement for Phobos, You need to have all Phobos
functionality (ie. backward-compatibility), so Phobos users could use Tango
out-of-box.

Kind regards

Dejan
Feb 01 2007
prev sibling next sibling parent reply Lutger <lutger.blijdestijn gmail.com> writes:
Awesome library. My compliments especially to the documentation writers, 
  the little I have read before dsource couldn't handle the traffic 
anymore was of exceptional quality. I hope the docs can be read offline 
too in the near future.
Feb 01 2007
next sibling parent reply kris <foo bar.com> writes:
Lutger wrote:
 Awesome library. My compliments especially to the documentation writers, 
  the little I have read before dsource couldn't handle the traffic 
 anymore was of exceptional quality. I hope the docs can be read offline 
 too in the near future.
I'm certain they'll be very happy to hear that! Dsource is back too <g> Offline docs is something that's been discussed, yet not really been pushed as a priority. Good that you bring it up
Feb 01 2007
parent Lutger <lutger.blijdestijn gmail.com> writes:
kris wrote:
 Offline docs is something that's been discussed, yet not really been 
 pushed as a priority. Good that you bring it up
Just a zip of the api reference would be most helpful for quick browsing, and in the case of absent internet or dsource connection.
Feb 01 2007
prev sibling parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
Lutger wrote:
 Awesome library. My compliments especially to the documentation writers, 
  the little I have read before dsource couldn't handle the traffic 
 anymore was of exceptional quality. I hope the docs can be read offline 
 too in the near future.
Agreed, I learned some interesting stuff about NaNs and Bessel functions and how to get sin and cos together for half the cost reading the math docs. That's stuff you just don't get from reading your average standard lib documentation. --bb
Feb 01 2007
parent Don Clugston <dac nospam.com.au> writes:
Bill Baxter wrote:
 Lutger wrote:
 Awesome library. My compliments especially to the documentation 
 writers,  the little I have read before dsource couldn't handle the 
 traffic anymore was of exceptional quality. I hope the docs can be 
 read offline too in the near future.
Agreed, I learned some interesting stuff about NaNs and Bessel functions and how to get sin and cos together for half the cost reading the math docs. That's stuff you just don't get from reading your average standard lib documentation. --bb
Thanks, Bill! I learnt a lot writing it, too. I hope people come away thinking that it's a more interesting topic than they expected, - dac
Feb 01 2007
prev sibling next sibling parent Tom <tom nospam.com> writes:
Woooow, at first sight it looks very nice!

Congratulations to you all and many thanks,

--
Tom;

== Quote from Lars Ivar Igesund (larsivar igesund.net)'s article
 Dear D community
 The first public release of Tango is now ready for download.
 Tango is a D library that provides a runtime for the D programming language,
 plus many additional library features for the D programmer. Further growth
 and sharpening of quality is expected for coming releases.
 A feature list can be found on
 http://www.dsource.org/projects/tango/wiki/Features
 Extensive work has been put into documenting the basic features, and in
 trying to make usage and installation easy for as many as possible.
 Platform support will be provided with the help of the users. Win32, Posix
 x86 and PPC have currently received most testing.
 Tango is not yet fully polished, but the last few weeks have seen efforts to
 solve toolchain problems, cleaning operations, documentation production, an
 improved website and more. Hopefully you will find it a useful addition to
 the D world, and feedback will gladly be accepted.
 The Tango homepage can be found at
 http://www.dsource.org/projects/tango
 Downloads:
 Graphical installer for Windows -
 http://63.99.9.206/tango/downloads/setup-tango-0.95-beta1.exe
 Zip file -
 http://63.99.9.206/tango/downloads/tango-0.95-beta1-src.zip
 tar.gz file -
 http://63.99.9.206/tango/downloads/tango-0.95-beta1-src.tar.gz
 See http://www.dsource.org/projects/tango/wiki/Download for other
 alternatives like access to SVN repositories.
 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
Feb 01 2007
prev sibling next sibling parent Daniel919 <Daniel919 web.de> writes:
Good things come to those who wait !

I already installed tango from source on windows and I intend to use it as a
replacement for phobos where possible.
Although I just did some simple review and testing, it seems very promising.
The code looks very clean and structured. So I hope it will become the standard
lib for D.

Even selector is working on windows now. I mentioned it yesterday on irc and
today it's fixed, great :)

Thanks to all contributors
and best wishes for the future,
Daniel
Feb 01 2007
prev sibling next sibling parent reply Chad J <gamerChad _spamIsBad_gmail.com> writes:
Good to see the famed uber lib out in the open!

When I try to use it though, I get the following compiler error:

--------------------------

C:\Dprojects\tango>build main.d -clean
Assertion failure: 'classinfo->structsize == CLASSINFO_SIZE' on line 315 
in file
  'toobj.c'

abnormal program termination

C:\Dprojects\tango>

--------------------------

main.d:

import tango.io.Stdout;

void main()
{
	Stdout.println("Hello world!" );
}

--------------------------

Any idea what caused this?


Also, reading the docs I have a few questions/complaints/critiques:

Why do I have to instantiate classes to do stuff like basic file/path 
operations?  I don't like having to keep track of classes and stuff when 
doing such trivial things.  Maybe there could be a procedural wrapper 
around this stuff?

Is there some simple way to get a start a timer that will either call a 
callback after some period of time or give you the time since it was 
started like in phobos' std.perf?

Is there any way I could make my programs that still use phobos compile 
again without uninstalling Tango?

The documentation uses 'auto' a lot.  auto is a cool feature, but now I 
have no idea what file.read; returns or how to deal with it.  Is it an 
array of (u)bytes (I hope!) ??  Is it something else that needs special 
care?  I suppose I could read the more exhaustive API index or even the 
source, but that would kinda defeat the purpose of a quick reference.


Questions/critique aside, Tango seems the best hope for a high quality 
and community driven standard library.  Thank you very much for your 
effort Tango team!
Feb 01 2007
next sibling parent Derek Parnell <derek nomail.afraid.org> writes:
On Thu, 01 Feb 2007 22:30:06 -0500, Chad J wrote:

 Good to see the famed uber lib out in the open!
 
 When I try to use it though, I get the following compiler error:
 
 --------------------------
 
 C:\Dprojects\tango>build main.d -clean
 Assertion failure: 'classinfo->structsize == CLASSINFO_SIZE' on line 315 
 in file
   'toobj.c'
This is a bug in DMD but was fixed. Install the latest DMD version and try again. -- Derek (skype: derek.j.parnell) Melbourne, Australia "Down with mediocrity!" 2/02/2007 3:01:52 PM
Feb 01 2007
prev sibling next sibling parent reply kris <foo bar.com> writes:
Chad J wrote:
 Good to see the famed uber lib out in the open!
 
 When I try to use it though, I get the following compiler error:
 
 --------------------------
 
 C:\Dprojects\tango>build main.d -clean
 Assertion failure: 'classinfo->structsize == CLASSINFO_SIZE' on line 315 
 in file
  'toobj.c'
 
 abnormal program termination
 
 C:\Dprojects\tango>
 
 --------------------------
 
 main.d:
 
 import tango.io.Stdout;
 
 void main()
 {
     Stdout.println("Hello world!" );
 }
 
 --------------------------
 
 Any idea what caused this?
Yes; the Tango release is based upon a 1004 runtime model. You're using a 1.0 compiler? Imagine you'd find the same when using a 1.0 DMD compiler with a 1004 phobos.lib?
 
 
 Also, reading the docs I have a few questions/complaints/critiques:
 
 Why do I have to instantiate classes to do stuff like basic file/path 
 operations?  I don't like having to keep track of classes and stuff when 
 doing such trivial things.  Maybe there could be a procedural wrapper 
 around this stuff?
That's possible, but usage of scope is handy here also? e.g. scope path = new FilePath (...) For many people, the advantages of keeping all the functionality together is a real boon.
 
 Is there some simple way to get a start a timer that will either call a 
 callback after some period of time or give you the time since it was 
 started like in phobos' std.perf?
Not yet. Want to write one?
 
 Is there any way I could make my programs that still use phobos compile 
 again without uninstalling Tango?
Yes, flip the phobos.lib file (or .a) back to the original one, and use the original -I setting. It's pretty easy, but might become easier if the compiler did not hard-code the lib name ("phobos.lib").
 
 The documentation uses 'auto' a lot.  auto is a cool feature, but now I 
 have no idea what file.read; returns or how to deal with it.  Is it an 
 array of (u)bytes (I hope!) ??  Is it something else that needs special 
 care?  I suppose I could read the more exhaustive API index or even the 
 source, but that would kinda defeat the purpose of a quick reference.
That's a good point. And at this time we don't have a quick reference per se [writes a ticket for it]. FWIW, untyped data in Tango is invariably returned as a void[], and the API links are pretty good even if the doc isn't always complete -- the doc API uses CandyDoc, and the big-blue-title at the top leads to a Decant generated source listing. All the other blue links on the CandyDoc pages lead to Wiki comments, which we'll uses for improving the code doc etc. Quite sophiticated really, for API doc :)
 
 
 Questions/critique aside, Tango seems the best hope for a high quality 
 and community driven standard library.  Thank you very much for your 
 effort Tango team!
On behalf of the team, you're very welcome!
Feb 01 2007
parent reply Chad J <gamerChad _spamIsBad_gmail.com> writes:
kris wrote:
 Chad J wrote:
 
 Good to see the famed uber lib out in the open!

 When I try to use it though, I get the following compiler error:

 --------------------------

 C:\Dprojects\tango>build main.d -clean
 Assertion failure: 'classinfo->structsize == CLASSINFO_SIZE' on line 
 315 in file
  'toobj.c'

 abnormal program termination

 C:\Dprojects\tango>

 --------------------------

 main.d:

 import tango.io.Stdout;

 void main()
 {
     Stdout.println("Hello world!" );
 }

 --------------------------

 Any idea what caused this?
Yes; the Tango release is based upon a 1004 runtime model. You're using a 1.0 compiler? Imagine you'd find the same when using a 1.0 DMD compiler with a 1004 phobos.lib?
Yeah I was using a 1.0 compiler and the problem went away when I installed 1.004.
 
 Also, reading the docs I have a few questions/complaints/critiques:

 Why do I have to instantiate classes to do stuff like basic file/path 
 operations?  I don't like having to keep track of classes and stuff 
 when doing such trivial things.  Maybe there could be a procedural 
 wrapper around this stuff?
That's possible, but usage of scope is handy here also? e.g. scope path = new FilePath (...) For many people, the advantages of keeping all the functionality together is a real boon.
For the rest of us, would you consider having a wrapper for that stuff included in Tango?
 Is there some simple way to get a start a timer that will either call 
 a callback after some period of time or give you the time since it was 
 started like in phobos' std.perf?
Not yet. Want to write one?
Sure. Problem is though, I'm in a bit of time crunch with midterms, scholarship essays, and my father's birthday, so I probably wouldn't be able to even start for another week or so. Is that OK?
 Is there any way I could make my programs that still use phobos 
 compile again without uninstalling Tango?
Yes, flip the phobos.lib file (or .a) back to the original one, and use the original -I setting. It's pretty easy, but might become easier if the compiler did not hard-code the lib name ("phobos.lib").
OK, thanks. Yeah, that's a bit inconvenient. Hope dmd changes then.
 The documentation uses 'auto' a lot.  auto is a cool feature, but now 
 I have no idea what file.read; returns or how to deal with it.  Is it 
 an array of (u)bytes (I hope!) ??  Is it something else that needs 
 special care?  I suppose I could read the more exhaustive API index or 
 even the source, but that would kinda defeat the purpose of a quick 
 reference.
That's a good point. And at this time we don't have a quick reference per se [writes a ticket for it]. FWIW, untyped data in Tango is invariably returned as a void[], and the API links are pretty good even if the doc isn't always complete -- the doc API uses CandyDoc, and the big-blue-title at the top leads to a Decant generated source listing. All the other blue links on the CandyDoc pages lead to Wiki comments, which we'll uses for improving the code doc etc. Quite sophiticated really, for API doc :)
Might I suggest that ubyte[] or byte[] be a more appropriate return type for some of those arrays due to the type-awareness of the GC? It would suck to read in a "noisy" data file and have the GC choke on it, or have to always tell the GC that there are no pointers there. I'm assuming you will never find valid pointers to memory in a file from a drive, or if you do, the GC probably wasn't scanning the file anyways so you'd have problems if you didn't already have a safety reference.
Feb 01 2007
parent kris <foo bar.com> writes:
Chad J wrote:
 For the rest of us, would you consider having a wrapper for that stuff 
 included in Tango?
Can't promise anything, but I'll certainly run it by folks here
 Not yet. Want to write one?
Sure. Problem is though, I'm in a bit of time crunch with midterms, scholarship essays, and my father's birthday, so I probably wouldn't be able to even start for another week or so. Is that OK?
Absolutely :)
 OK, thanks.  Yeah, that's a bit inconvenient.  Hope dmd changes then.
That would be great if it did. If a change were to happen there, it might be worth pursuing something about -g switching to a different lib, or a different sc.ini libspec? maybe.
 That's a good point. And at this time we don't have a quick reference 
 per se [writes a ticket for it].

 FWIW, untyped data in Tango is invariably returned as a void[], and 
 the API links are pretty good even if the doc isn't always complete -- 
 the doc API uses CandyDoc, and the big-blue-title at the top leads to 
 a Decant generated source listing. All the other blue links on the 
 CandyDoc pages lead to Wiki comments, which we'll uses for improving 
 the code doc etc. Quite sophiticated really, for API doc :)
Might I suggest that ubyte[] or byte[] be a more appropriate return type for some of those arrays due to the type-awareness of the GC? It would suck to read in a "noisy" data file and have the GC choke on it, or have to always tell the GC that there are no pointers there. I'm assuming you will never find valid pointers to memory in a file from a drive, or if you do, the GC probably wasn't scanning the file anyways so you'd have problems if you didn't already have a safety reference.
Yes. There just wasn't enough time to doink all of those since the compiler release. Under the covers, though, methods like File.read() allocate a byte[], but return it as a void[] to indicate the lack of known type. If I understand correctly, this should address your concern?
Feb 01 2007
prev sibling next sibling parent torhu <fake address.dude> writes:
Chad J wrote:
 When I try to use it though, I get the following compiler error:
 
 --------------------------
 
 C:\Dprojects\tango>build main.d -clean
 Assertion failure: 'classinfo->structsize == CLASSINFO_SIZE' on line 315 
 in file
   'toobj.c'
Revision 1378 of Tango works with dmd 1.0. It's tagged for dmd 1.000. I haven't tried later revisions. DWT doesn't work with dmd 1.004, so I'm holding off on upgrading. I expect other people are in the same situation. This will probably change, since the cause seems to be a bug in dmd 1.004, related to missing or wrong TypeInfo instances. > Is there any way I could make my programs that still use phobos compile
 again without uninstalling Tango?
 
I have sc.ini.phobos and sc.ini.tango, and just replace sc.ini with the relevant one when I want to switch libs. If you follow the installation instructions on the web site, switching between phobos and tango is really that easy. sc.ini.phobos is the default one, sc.ini.tango is edited following the installation instructions on this page: http://www.dsource.org/projects/tango/wiki/WindowsInstall
Feb 02 2007
prev sibling parent Kevin Bealer <kevinbealer gmail.com> writes:
Chad J wrote:
 Is there any way I could make my programs that still use phobos compile 
 again without uninstalling Tango?
I have my home directory set up to make this easy. When I get a new D compiler, I unzip it under ~/d/d.1.004 (or wherever). Then I create this symbolic link: /home/me/d/current -> /home/me/d/d.1.004 Make the binaries executable, fix dmd.conf, and its ready to go. The following links never change, they redirect everything through "current": /etc/dmd.conf -> /home/me/d/current/dmd/bin/dmd.conf /usr/lib/libphobos.a -> /home/me/d/current/dmd/lib/libphobos.a /home/me/bin/dmd -> /home/me/d/current/dmd/bin/dmd /home/me/bin/rdmd -> /home/me/d/current/dmd/bin/rdmd /home/me/bin/obj2asm -> /home/me/d/current/dmd/bin/obj2asm /home/me/bin/dumpobj -> /home/me/d/current/dmd/bin/dumpobj I can change the "current" symlink to get a particular version of D. I imagine in Windows you could use rename instead of symbolic links to achieve almost the same effect. With a little more tweaking I could switch D versions with an evironment variable. Kevin
Feb 02 2007
prev sibling next sibling parent Zz <zz a.zz> writes:
Lars Ivar Igesund wrote:
 Dear D community
 
 The first public release of Tango is now ready for download.
 
Thanks. Zz
Feb 02 2007
prev sibling next sibling parent reply Walter Bright <newshound digitalmars.com> writes:
A minor nit:

On page http://www.dsource.org/projects/tango/wiki/ChapterMath,
the text does not wrap on Explorer, making for very long lines.
Feb 02 2007
next sibling parent Derek Parnell <derek psych.ward> writes:
On Fri, 02 Feb 2007 11:28:12 -0800, Walter Bright wrote:

 A minor nit:
 
 On page http://www.dsource.org/projects/tango/wiki/ChapterMath,
 the text does not wrap on Explorer, making for very long lines.
Confirmed for IE 7 BTW, it looks fine using Firefox 1.5.0.9 and Opera 9.10. -- Derek Parnell
Feb 02 2007
prev sibling parent reply Pragma <ericanderton yahoo.removeme.com> writes:
Walter Bright wrote:
 A minor nit:
 
 On page http://www.dsource.org/projects/tango/wiki/ChapterMath,
 the text does not wrap on Explorer, making for very long lines.
Thanks for finding that. I think we'll have that patched up soon. ;) http://www.dsource.org/projects/tango/ticket/253 -- - EricAnderton at yahoo
Feb 02 2007
parent Brad Anderson <brad dsource.org> writes:
Pragma wrote:
 Walter Bright wrote:
 A minor nit:

 On page http://www.dsource.org/projects/tango/wiki/ChapterMath,
 the text does not wrap on Explorer, making for very long lines.
Thanks for finding that. I think we'll have that patched up soon. ;) http://www.dsource.org/projects/tango/ticket/253
all set BA
Feb 02 2007
prev sibling next sibling parent reply Walter Bright <newshound digitalmars.com> writes:
Lars Ivar Igesund wrote:
 The first public release of Tango is now ready for download.
This is a first rate example of what the D community can do. Congratulations to everyone involved in its creation. You guys have set the bar pretty high!
Feb 02 2007
parent Georg Wrede <georg nospam.org> writes:
Walter Bright wrote:
 Lars Ivar Igesund wrote:
 
 The first public release of Tango is now ready for download.
This is a first rate example of what the D community can do. Congratulations to everyone involved in its creation. You guys have set the bar pretty high!
No and/or here, it's _both_! Walter and the Tango guys: Cool, both! Congrats!!!! Wish I'd been there, but lately I've been (luckily only) almost electrocuted to death just 3 (three) times simply the last week! (One of them: 500V DC, 125A. I happened to poke the wrong thing in the connection box with my multimeter. Result: a bang that locked my ears, a spark that scared the audience, a jolt that threw me back two steps without "moving a limb", and a darkness that impressed the guys at the other shops in the block.) There's a rumor we're doing something "heavy". Not likely we'll clip that one anymore. Oh, and my multimeter minus side probe is 1/4" shorter now. We're in Europe, so the green-yellow striped one is the shield ground wire. My associate fastens all three wires while he's talking gossip and the weather and NOT looking at what he's doing. He's like the film star in the car scene, driving and explaining the plot to the female co-star: never even glimpsing the road. There were 18 plugs he had to wire, and (only after some near-misses of life) it turned out he'd miswired more than half of them. Honestly, I'd want to "teach" him with a shotgun. :-( !!!!! I've got three minor kids, for chrissake! I'm now doing software for our second Extruder Unit, which is very different from the first one. For one thing, the watch points went from 6 to 10, and then we got 5 pressure points to monitor too. And it's been shown to me that a thermostat-like temperature control simply is not adequate anymore. We need some kind of adaptive or pre-emptive, or learning, temperature "intelligence" with this new machine. (Anybody have any pointers, hints or ideas?) And looks like it'd have to "learn" from the motor rpm+amperes+voltage + temperatures+pressures + first-and-second-derivatives-of-them, and Bob knows what -- to become prescient, or at the very least, "aware". (My associate would not exactly understand if any of you guys would suggest I'd tell him he's demanding more than Cyberdyne Systems contributed to Skynet.)
Feb 04 2007
prev sibling parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
This is a bugfix release for Tango 0.95 beta 1, and fixes a few bugs related
to *nix install scripts. Changes to code is deferred to the 0.96 beta 2
release. Only source distributions are updated.

Tango is a D library that provides a runtime for the D programming language,
plus many additional library features for the D programmer. Further growth
and sharpening of quality is expected for coming releases.

A feature list can be found on

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

Extensive work has been put into documenting the basic features, and in
trying to make usage and installation easy for as many as possible.
Platform support will be provided with the help of the users. Win32, Posix
x86 and PPC have currently received most testing.

Tango is not yet fully polished, but the last few weeks have seen efforts to
solve toolchain problems, cleaning operations, documentation production, an
improved website and more. Hopefully you will find it a useful addition to
the D world, and feedback will gladly be accepted.

The Tango homepage can be found at

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

Downloads:
http://www.dsource.org/projects/tango/wiki/Download - Note that only the
source distributions have been updated. If the main download site don't
provide you with the downloads, try the mirror or try again later.

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
Feb 08 2007
next sibling parent reply Frits van Bommel <fvbommel REMwOVExCAPSs.nl> writes:
Lars Ivar Igesund wrote:
 This is a bugfix release for Tango 0.95 beta 1, and fixes a few bugs related
 to *nix install scripts. Changes to code is deferred to the 0.96 beta 2
 release.
Does this mean it's not useful to upgrade if it already works for you?
Feb 08 2007
parent Lars Ivar Igesund <larsivar igesund.net> writes:
Frits van Bommel wrote:

 Lars Ivar Igesund wrote:
 This is a bugfix release for Tango 0.95 beta 1, and fixes a few bugs
 related to *nix install scripts. Changes to code is deferred to the 0.96
 beta 2 release.
Does this mean it's not useful to upgrade if it already works for you?
Yes :) -- Lars Ivar Igesund blog at http://larsivi.net DSource & #D: larsivi Dancing the Tango
Feb 08 2007
prev sibling parent reply rubikitch ruby-lang.org writes:
From: Lars Ivar Igesund <larsivar igesund.net>
Subject: Tango 0.95.1 beta1 released
Date: Thu, 08 Feb 2007 11:19:42 +0100

Hi, 

 This is a bugfix release for Tango 0.95 beta 1, and fixes a few bugs related
 to *nix install scripts. Changes to code is deferred to the 0.96 beta 2
 release. Only source distributions are updated.
http://svn.dsource.org/projects/tango/trunk/lib/install-dmd.sh I failed to issue install-dmd.sh on my Debian GNU/Linux box. --- install-dmd.sh 2007/02/08 18:30:16 1.1 +++ install-dmd.sh 2007/02/08 18:30:18 -298,7 +298,6 mv ${PREFIX} ../../ fi fi - else fi cd ../../ || die 1 "Error while cleaning up." -- rubikitch http://www.rubyist.net/~rubikitch/
Feb 08 2007
parent reply Alexander Panek <a.panek brainsware.org> writes:
rubikitch ruby-lang.org wrote:
 From: Lars Ivar Igesund <larsivar igesund.net>
 Subject: Tango 0.95.1 beta1 released
 Date: Thu, 08 Feb 2007 11:19:42 +0100
 
 Hi, 
 
 This is a bugfix release for Tango 0.95 beta 1, and fixes a few bugs related
 to *nix install scripts. Changes to code is deferred to the 0.96 beta 2
 release. Only source distributions are updated.
http://svn.dsource.org/projects/tango/trunk/lib/install-dmd.sh I failed to issue install-dmd.sh on my Debian GNU/Linux box.
What exactly do you mean? Does the script fail for you?
 
 --- install-dmd.sh	2007/02/08 18:30:16	1.1
 +++ install-dmd.sh	2007/02/08 18:30:18
    -298,7 +298,6   
  				mv ${PREFIX} ../../
  			fi
  		fi
 -	else
  	fi
  
  	cd ../../ || die 1 "Error while cleaning up."
 
 --
 rubikitch
 http://www.rubyist.net/~rubikitch/
Feb 08 2007
parent reply rubikitch ruby-lang.org writes:
From: Alexander Panek <a.panek brainsware.org>
Subject: Re: Tango 0.95.1 beta1 released
Date: Thu, 08 Feb 2007 19:51:54 +0100

 I failed to issue install-dmd.sh on my Debian GNU/Linux box.
What exactly do you mean? Does the script fail for you?
Yes. I got a syntax error. But after I applied the patch, installation was successful. ./install-dmd.sh: line 302: syntax error near unexpected token `fi' ./install-dmd.sh: line 302: ` fi' -- rubikitch http://www.rubyist.net/~rubikitch/
Feb 08 2007
next sibling parent reply Alexander Panek <a.panek brainsware.org> writes:
rubikitch ruby-lang.org wrote:
  > Yes. I got a syntax error.
 But after I applied the patch, installation was successful.
Ooh, sorry and thanks - I did not encounter that error myself while testing. :)
 ./install-dmd.sh: line 302: syntax error near unexpected token `fi'
 ./install-dmd.sh: line 302: `   fi'
 
 --
 rubikitch
 http://www.rubyist.net/~rubikitch/
Feb 08 2007
parent reply rubikitch ruby-lang.org writes:
From: Alexander Panek <a.panek brainsware.org>
Subject: Re: Tango 0.95.1 beta1 released
Date: Thu, 08 Feb 2007 20:15:23 +0100

 Ooh, sorry and thanks - I did not encounter that error myself while 
 testing. :)
Thank you for applying my patch. --- $ cd /r/compile/dmd $ wget http://svn.dsource.org/projects/tango/trunk/lib/install-dmd.sh; chmod +x install-dmd.sh $ ./install-dmd.sh /usr/local --download-all (snip) Tango has been installed successfully. You can find documentation at http://dsource.org/projects/tango, or locally in /r/compile/dmd/usr/local/include/tango/doc/. --- I got this message. Then I tried to compile example/**/*.d, but got errors. What's wrong? --- $ cat /etc/dmd.conf [Environment] ;;;DFLAGS=-I/usr/local/lib/dmd/src/phobos ;;;DFLAGS=-I"${PREFIX}/include/tango/ -L-L${PREFIX}/lib/ -version=Posix -version=Tango" ;;DFLAGS="-I${PREFIX}/include/tango/ -L${PREFIX}/lib/ -version=Posix -version=Tango" DFLAGS="-I/usr/local/include/tango/ -L/usr/local/lib/ -version=Posix -version=Tango" $ tango_dir=/r/compile/tango-0.95.1 $ cd $tango_dir/install $ rm -f hello.o; dmd hello.d; ./hello gcc hello.o -o hello -m32 -lphobos -lpthread -lm Hello, Tango! $ rm -f hello.o; build hello.d; ./hello Hello, Tango! $ cd $tango_dir/example $ cd conduits $ build unifile.d /usr/local/include/tango/tango/io/Buffer.d(16): module Exception cannot read file 'tango/core/Exception.d' $ build unifile.d -op /usr/local/include/tango/tango/io/Buffer.d(16): module Exception cannot read file 'tango/core/Exception.d' -- rubikitch http://www.rubyist.net/~rubikitch/
Feb 08 2007
parent Alexander Panek <a.panek brainsware.org> writes:
rubikitch ruby-lang.org wrote:
 From: Alexander Panek <a.panek brainsware.org>
 Subject: Re: Tango 0.95.1 beta1 released
 Date: Thu, 08 Feb 2007 20:15:23 +0100
 
 Ooh, sorry and thanks - I did not encounter that error myself while 
 testing. :)
Thank you for applying my patch. --- $ cd /r/compile/dmd $ wget http://svn.dsource.org/projects/tango/trunk/lib/install-dmd.sh; chmod +x install-dmd.sh $ ./install-dmd.sh /usr/local --download-all (snip) Tango has been installed successfully. You can find documentation at http://dsource.org/projects/tango, or locally in /r/compile/dmd/usr/local/include/tango/doc/. --- I got this message.
Seems to have worked, great :)
 
 Then I tried to compile example/**/*.d, but got errors.
 What's wrong?
 
 ---
 $ cat /etc/dmd.conf
 
 [Environment]
 
 ;;;DFLAGS=-I/usr/local/lib/dmd/src/phobos
 ;;;DFLAGS=-I"${PREFIX}/include/tango/ -L-L${PREFIX}/lib/ -version=Posix
-version=Tango"
 ;;DFLAGS="-I${PREFIX}/include/tango/ -L${PREFIX}/lib/ -version=Posix
-version=Tango"
 DFLAGS="-I/usr/local/include/tango/ -L/usr/local/lib/ -version=Posix
-version=Tango"
 
 
 $ tango_dir=/r/compile/tango-0.95.1
 $ cd $tango_dir/install
 $ rm -f hello.o; dmd hello.d; ./hello
 gcc hello.o -o hello -m32 -lphobos -lpthread -lm 
 Hello, Tango!
 $ rm -f hello.o; build hello.d; ./hello
 Hello, Tango!
 $ cd $tango_dir/example
 $ cd conduits
 $ build unifile.d
 /usr/local/include/tango/tango/io/Buffer.d(16): module Exception cannot read
file 'tango/core/Exception.d'
 $ build unifile.d -op
 /usr/local/include/tango/tango/io/Buffer.d(16): module Exception cannot read
file 'tango/core/Exception.d'
Others have been encountering this bug, too, today.. don't know what's wrong, though. Is the file tango/core/Exception.di existent?
 
 
 --
 rubikitch
 http://www.rubyist.net/~rubikitch/
Feb 08 2007
prev sibling parent Lars Ivar Igesund <larsivar igesund.net> writes:
rubikitch ruby-lang.org wrote:

 From: Alexander Panek <a.panek brainsware.org>
 Subject: Re: Tango 0.95.1 beta1 released
 Date: Thu, 08 Feb 2007 19:51:54 +0100
 
 I failed to issue install-dmd.sh on my Debian GNU/Linux box.
What exactly do you mean? Does the script fail for you?
Yes. I got a syntax error. But after I applied the patch, installation was successful. ./install-dmd.sh: line 302: syntax error near unexpected token `fi' ./install-dmd.sh: line 302: ` fi' -- rubikitch http://www.rubyist.net/~rubikitch/
The fix is now in trunk and the 0_95_beta1 branch. -- Lars Ivar Igesund blog at http://larsivi.net DSource & #D: larsivi Dancing the Tango
Feb 08 2007