digitalmars.D.announce - Tango for D2: All user modules ported
- SiegeLord (21/21) Jan 31 2012 Hello everyone,
- Nick Sabalausky (3/32) Jan 31 2012 Nice!
- Jacob Carlborg (6/27) Jan 31 2012 Very cool. Your doing a great job. BTW, it works on Mac OS X. I have a
- Jacob Carlborg (4/55) Jan 31 2012 Pull request sent.
- SiegeLord (3/6) Feb 01 2012 Just to clarify, the bobs are not going anywhere. The Makefile will be j...
- Jacob Carlborg (8/14) Feb 01 2012 Ok, I see. Then we would have four different build methods:
- SiegeLord (3/9) Feb 02 2012 Not shell script (I wouldn't know how to get it working, don't know shel...
- Jacob Carlborg (14/23) Feb 02 2012 Same here for me with shell scripts. I almost hate shell scripts as bad
- Gour (13/16) Jan 31 2012 On Tue, 31 Jan 2012 23:59:33 -0500
- Kagamin (3/5) Feb 01 2012 Hmm... What does this question ask? Whether Tango is inferior to
- Nick_B (4/8) Feb 01 2012 Any comment that you can make on performance. Is it faster or slower
- SiegeLord (5/10) Feb 01 2012 It's hard to say. I write very non-idiomatic D2 code... I don't use the ...
- Andrei Alexandrescu (3/8) Feb 01 2012 This is awesome. Thanks for the great news!
- Andrei Alexandrescu (3/3) Feb 01 2012 On reddit:
- Nick Sabalausky (4/6) Feb 01 2012 I predict reddit posts, from people who didn't fully read the post, clai...
- Iain Buclaw (2/26) Feb 01 2012 Writing a new book on Dance lessons? :)
- Bernard Helyer (2/2) Feb 01 2012 Congratulations. This is the penultimate death knell for D1, I
- Moritz Warning (2/48) Feb 01 2012 Awesome! :D
- =?ISO-8859-1?Q?Alex_R=F8nne_Petersen?= (7/28) Feb 01 2012 Amazing work folks!
- Don Clugston (5/9) Feb 02 2012 std.bigint... this might change in the future)
- mta`chrono (2/5) Feb 03 2012 But it'll make tango depending on phobos which is something that not all
- Damian Ziemba (9/25) Feb 04 2012 Don, what about cases when you don't need Phobos at all and you
- Don Clugston (6/28) Feb 06 2012 That's OK. It has no dependencies on anything else in Phobos.
- bobef (9/30) Feb 04 2012 Great news. Makes me wanna do D again after I gave it up mainly because
- Timon Gehr (4/12) Feb 04 2012 I cannot speak for SiegeLord, but since the project is on github, anyone...
- SiegeLord (10/18) Feb 05 2012 To add to what Timon Gehr said, I plan on using it and thus maintaining
- HeiHon (61/62) Feb 09 2012 Same here!
- Timon Gehr (16/77) Feb 09 2012 For me it is the other way round: I never considered trying Tango until
- HeiHon (31/46) Feb 09 2012 But I started using D back in the pre 0.125 days (2004) and I got
- Nengwen Zhuo (4/4) Feb 05 2012 doc\example\system\stacktrace.d has exception:
- SiegeLord (4/8) Feb 05 2012 It should be fixed now. Make sure to compile the example and the library
Hello everyone, Just wanted to put out an announcement with a progress report on porting effort of Tango. For those that don't know what it is, Tango is a framework library that used to be/is the de facto standard library of D1. Through the heroic efforts by Igor Stepanov, the initial porting was completed ahead of schedule. All the user modules are now ported (save for tango.math.BigInt, which right now is aliased to std.bigint... this might change in the future). All unittests pass on Linux (using LDC2) and most do on Windows. Additionally, again kudos to Igor, it compiles with -property and -w flags for all of you style purists. Additionally, most of the examples have been also ported. I have personally used Tango in few KLoC line D2 project and I find it works just as well as it did in D1. This is naturally not the end, in the coming weeks/months you can expect the following: -New Makefile based build system -Documentation creation -Ironing out of a few const related inelegancies -Revival of the support for MacOSX and FreeBSD -Revival of the GDC -Shared library creation -Dance lessons You can download the latest version of it here: https://github.com/SiegeLord/Tango-D2 FAQ Does it work alongside Phobos/does it use druntime? Yes and yes. Why are you doing this? Because I want to. That's all, -SiegeLord
Jan 31 2012
"SiegeLord" <none none.com> wrote in message news:jgagrl$1ta5$1 digitalmars.com...Hello everyone, Just wanted to put out an announcement with a progress report on porting effort of Tango. For those that don't know what it is, Tango is a framework library that used to be/is the de facto standard library of D1. Through the heroic efforts by Igor Stepanov, the initial porting was completed ahead of schedule. All the user modules are now ported (save for tango.math.BigInt, which right now is aliased to std.bigint... this might change in the future). All unittests pass on Linux (using LDC2) and most do on Windows. Additionally, again kudos to Igor, it compiles with -property and -w flags for all of you style purists. Additionally, most of the examples have been also ported. I have personally used Tango in few KLoC line D2 project and I find it works just as well as it did in D1. This is naturally not the end, in the coming weeks/months you can expect the following: -New Makefile based build system -Documentation creation -Ironing out of a few const related inelegancies -Revival of the support for MacOSX and FreeBSD -Revival of the GDC -Shared library creation -Dance lessons You can download the latest version of it here: https://github.com/SiegeLord/Tango-D2 FAQ Does it work alongside Phobos/does it use druntime? Yes and yes. Why are you doing this? Because I want to.Nice!
Jan 31 2012
On 2012-02-01 05:59, SiegeLord wrote:Hello everyone, Just wanted to put out an announcement with a progress report on porting effort of Tango. For those that don't know what it is, Tango is a framework library that used to be/is the de facto standard library of D1. Through the heroic efforts by Igor Stepanov, the initial porting was completed ahead of schedule. All the user modules are now ported (save for tango.math.BigInt, which right now is aliased to std.bigint... this might change in the future). All unittests pass on Linux (using LDC2) and most do on Windows. Additionally, again kudos to Igor, it compiles with -property and -w flags for all of you style purists. Additionally, most of the examples have been also ported. I have personally used Tango in few KLoC line D2 project and I find it works just as well as it did in D1. This is naturally not the end, in the coming weeks/months you can expect the following: -New Makefile based build system -Documentation creation -Ironing out of a few const related inelegancies -Revival of the support for MacOSX and FreeBSD -Revival of the GDC -Shared library creation -Dance lessons You can download the latest version of it here: https://github.com/SiegeLord/Tango-D2 FAQ Does it work alongside Phobos/does it use druntime? Yes and yes. Why are you doing this? Because I want to. That's all, -SiegeLordVery cool. Your doing a great job. BTW, it works on Mac OS X. I have a couple of changes I haven't made a pull request for yet. Please please PLEASE, no makefiles. I just hate them. -- /Jacob Carlborg
Jan 31 2012
On 2012-02-01 08:24, Jacob Carlborg wrote:On 2012-02-01 05:59, SiegeLord wrote:Pull request sent. -- /Jacob CarlborgHello everyone, Just wanted to put out an announcement with a progress report on porting effort of Tango. For those that don't know what it is, Tango is a framework library that used to be/is the de facto standard library of D1. Through the heroic efforts by Igor Stepanov, the initial porting was completed ahead of schedule. All the user modules are now ported (save for tango.math.BigInt, which right now is aliased to std.bigint... this might change in the future). All unittests pass on Linux (using LDC2) and most do on Windows. Additionally, again kudos to Igor, it compiles with -property and -w flags for all of you style purists. Additionally, most of the examples have been also ported. I have personally used Tango in few KLoC line D2 project and I find it works just as well as it did in D1. This is naturally not the end, in the coming weeks/months you can expect the following: -New Makefile based build system -Documentation creation -Ironing out of a few const related inelegancies -Revival of the support for MacOSX and FreeBSD -Revival of the GDC -Shared library creation -Dance lessons You can download the latest version of it here: https://github.com/SiegeLord/Tango-D2 FAQ Does it work alongside Phobos/does it use druntime? Yes and yes. Why are you doing this? Because I want to. That's all, -SiegeLordVery cool. Your doing a great job. BTW, it works on Mac OS X. I have a couple of changes I haven't made a pull request for yet. Please please PLEASE, no makefiles. I just hate them.
Jan 31 2012
Jacob Carlborg Wrote:Please please PLEASE, no makefiles. I just hate them.Just to clarify, the bobs are not going anywhere. The Makefile will be just for the people that want to use it. -SiegeLord-- /Jacob Carlborg
Feb 01 2012
On 2012-02-01 20:41, SiegeLord wrote:Jacob Carlborg Wrote:Ok, I see. Then we would have four different build methods: * bob.d * bob.rb * makefiles * shell script (don't know if this works) -- /Jacob CarlborgPlease please PLEASE, no makefiles. I just hate them.Just to clarify, the bobs are not going anywhere. The Makefile will be just for the people that want to use it. -SiegeLord-- /Jacob Carlborg
Feb 01 2012
Jacob Carlborg Wrote:Ok, I see. Then we would have four different build methods: * bob.d * bob.rb * makefiles * shell script (don't know if this works)Not shell script (I wouldn't know how to get it working, don't know shell well enough). The Ruby is in a similar situation, but perhaps I can learn enough of it to fix it (or someone can step up, it probably works now thanks to your efforts). I know enough Makefile to fix that up too if needed. -SiegeLord
Feb 02 2012
On 2012-02-02 20:42, SiegeLord wrote:Jacob Carlborg Wrote:Same here for me with shell scripts. I almost hate shell scripts as bad as makefiles. You don't have to worry about the Ruby script. I created that one, and it already works for at least Mac OS X. Hopefully it already works on the other platforms. The reason I created the Ruby script was the chicken and egg problem. I wanted to build the latest version of Tango, they had changed the build script to be written in D. There was no pre-compiled binary for Mac OS X and the build script used the latest version of Tango. I think Ruby is a great scripting language and it's installed out of the box on Mac OS X. So, any issues with Ruby script, just let me know. -- /Jacob CarlborgOk, I see. Then we would have four different build methods: * bob.d * bob.rb * makefiles * shell script (don't know if this works)Not shell script (I wouldn't know how to get it working, don't know shell well enough). The Ruby is in a similar situation, but perhaps I can learn enough of it to fix it (or someone can step up, it probably works now thanks to your efforts). I know enough Makefile to fix that up too if needed. -SiegeLord
Feb 02 2012
On Tue, 31 Jan 2012 23:59:33 -0500 SiegeLord <none none.com> wrote: Congratulations for great work!!-New Makefile based build systemHave you considered some alternative(s)?-Shared library creationThis is cool.-Dance lessonsWe're interested for that one, but wonder about instructors? Sincerely, Gour --=20 As a strong wind sweeps away a boat on the water,=20 even one of the roaming senses on which the mind=20 focuses can carry away a man's intelligence. http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
Jan 31 2012
On Wednesday, 1 February 2012 at 04:59:33 UTC, SiegeLord wrote:Why are you doing this? Because I want to.Hmm... What does this question ask? Whether Tango is inferior to phobos2 or whether the whole d2 thing is inferior to d1?
Feb 01 2012
On 1/02/2012 5:59 p.m., SiegeLord wrote:Hello everyone, Just wanted to put out an announcement with a progress report on porting effort of Tango. For those that don't know what it is, Tango is a framework library that used to be/is the de facto standard library of D1. Through the heroic efforts by Igor Stepanov, the initial porting was completed ahead of schedule. All the user modules are now ported (save for tango.math.BigInt, which right now is aliased to std.bigint... this might change in the future). All unittests pass on Linux (using LDC2) and most do on Windows. Additionally, again kudos to Igor, it compiles with -property and -w flags for all of you style purists. Additionally, most of the examples have been also ported. I have personally used Tango in few KLoC line D2 project and I find it works just as well as it did in D1.Any comment that you can make on performance. Is it faster or slower than D1 ? Nick
Feb 01 2012
Nick_B Wrote:Any comment that you can make on performance. Is it faster or slower than D1 ?It's hard to say. I write very non-idiomatic D2 code... I don't use the string type at all, saving on quite a bit of GC use. I would say that if you code just like you did in D1, but use the const system to enforce some safety then your code will be just as fast as it was in D1. If you start using immutable and all the extra allocations that entails... I doubt it'd be nearly as fast. As this project was written from scratch in D2, I don't have a D1 version to compare to... Lastly, this was a game, so most of the time consumption comes from the graphical pipeline... As for Tango itself, yes I had to add a few .dups here and there. They are relatively rare, however, and usually only happen when an error is raised. I'd be very surprised if under normal usage TangoD2 is significantly slower than the original Tango. -SiegeLordNick
Feb 01 2012
On 1/31/12 8:59 PM, SiegeLord wrote:Hello everyone, Just wanted to put out an announcement with a progress report on porting effort of Tango. For those that don't know what it is, Tango is a framework library that used to be/is the de facto standard library of D1.This is awesome. Thanks for the great news! Andrei
Feb 01 2012
On reddit: http://www.reddit.com/r/programming/comments/p5xzk/tango_library_for_d2_initial_port_finished/ Andrei
Feb 01 2012
"Andrei Alexandrescu" <SeeWebsiteForEmail erdani.org> wrote in message news:jgb0dl$11vi$1 digitalmars.com...On reddit: http://www.reddit.com/r/programming/comments/p5xzk/tango_library_for_d2_initial_port_finished/I predict reddit posts, from people who didn't fully read the post, claiming that D2 now has two std libs in 3...2...1...
Feb 01 2012
On Wednesday, 1 February 2012 at 04:59:33 UTC, SiegeLord wrote:Hello everyone, Just wanted to put out an announcement with a progress report on porting effort of Tango. For those that don't know what it is, Tango is a framework library that used to be/is the de facto standard library of D1. Through the heroic efforts by Igor Stepanov, the initial porting was completed ahead of schedule. All the user modules are now ported (save for tango.math.BigInt, which right now is aliased to std.bigint... this might change in the future). All unittests pass on Linux (using LDC2) and most do on Windows. Additionally, again kudos to Igor, it compiles with -property and -w flags for all of you style purists. Additionally, most of the examples have been also ported. I have personally used Tango in few KLoC line D2 project and I find it works just as well as it did in D1. This is naturally not the end, in the coming weeks/months you can expect the following: -New Makefile based build system -Documentation creation -Ironing out of a few const related inelegancies -Revival of the support for MacOSX and FreeBSD -Revival of the GDC -Shared library creation -Dance lessonsWriting a new book on Dance lessons? :)
Feb 01 2012
Congratulations. This is the penultimate death knell for D1, I feel. (The final being DMD1's discontinuation on December 31st).
Feb 01 2012
On Tue, 31 Jan 2012 23:59:33 -0500, SiegeLord wrote:Hello everyone, Just wanted to put out an announcement with a progress report on porting effort of Tango. For those that don't know what it is, Tango is a framework library that used to be/is the de facto standard library of D1. Through the heroic efforts by Igor Stepanov, the initial porting was completed ahead of schedule. All the user modules are now ported (save for tango.math.BigInt, which right now is aliased to std.bigint... this might change in the future). All unittests pass on Linux (using LDC2) and most do on Windows. Additionally, again kudos to Igor, it compiles with -property and -w flags for all of you style purists. Additionally, most of the examples have been also ported. I have personally used Tango in few KLoC line D2 project and I find it works just as well as it did in D1. This is naturally not the end, in the coming weeks/months you can expect the following: -New Makefile based build system -Documentation creation -Ironing out of a few const related inelegancies -Revival of the support for MacOSX and FreeBSD -Revival of the GDC -Shared library creation -Dance lessons You can download the latest version of it here: https://github.com/SiegeLord/Tango-D2 FAQ Does it work alongside Phobos/does it use druntime? Yes and yes. Why are you doing this? Because I want to. That's all, -SiegeLordAwesome! :D
Feb 01 2012
On 01-02-2012 05:59, SiegeLord wrote:Hello everyone, Just wanted to put out an announcement with a progress report on porting effort of Tango. For those that don't know what it is, Tango is a framework library that used to be/is the de facto standard library of D1. Through the heroic efforts by Igor Stepanov, the initial porting was completed ahead of schedule. All the user modules are now ported (save for tango.math.BigInt, which right now is aliased to std.bigint... this might change in the future). All unittests pass on Linux (using LDC2) and most do on Windows. Additionally, again kudos to Igor, it compiles with -property and -w flags for all of you style purists. Additionally, most of the examples have been also ported. I have personally used Tango in few KLoC line D2 project and I find it works just as well as it did in D1. This is naturally not the end, in the coming weeks/months you can expect the following: -New Makefile based build system -Documentation creation -Ironing out of a few const related inelegancies -Revival of the support for MacOSX and FreeBSD -Revival of the GDC -Shared library creation -Dance lessons You can download the latest version of it here: https://github.com/SiegeLord/Tango-D2 FAQ Does it work alongside Phobos/does it use druntime? Yes and yes. Why are you doing this? Because I want to. That's all, -SiegeLordAmazing work folks! I would recommend Waf for your build system, but the downside is that it doesn't support Windows... (This could probably be fixed with some trivial patches, though...) -- - Alex
Feb 01 2012
On 01/02/12 05:59, SiegeLord wrote:Hello everyone, Just wanted to put out an announcement with a progress report on porting effort of Tango. Through the heroic efforts by Igor Stepanov, the initial porting was completed ahead of schedule.All the user modules are now ported(save for tango.math.BigInt, which right now is aliased tostd.bigint... this might change in the future) Please don't change that! That's the way it should be. I tried very hard, and unsuccessfully to avoid that code being duplicated in Phobos and Tango, it's fantastic that you've finally achieved it.
Feb 02 2012
Please don't change that! That's the way it should be. I tried very hard, and unsuccessfully to avoid that code being duplicated in Phobos and Tango, it's fantastic that you've finally achieved it.But it'll make tango depending on phobos which is something that not all people seem to like.
Feb 03 2012
On Thursday, 2 February 2012 at 13:50:56 UTC, Don Clugston wrote:On 01/02/12 05:59, SiegeLord wrote:Don, what about cases when you don't need Phobos at all and you would to stick to Tango+Druntime only? tango.math.internal.* are mostly constness changes (and coding style change :D) but tango.math.BigInt and std.bigint seems to be a bit different (more features in Phobos version?) Best Regards, Damian ZiembaHello everyone, Just wanted to put out an announcement with a progress report on porting effort of Tango. Through the heroic efforts by Igor Stepanov, the initial porting was completed ahead of schedule.All the user modules are now ported(save for tango.math.BigInt, which right now is aliased tostd.bigint... this might change in the future) Please don't change that! That's the way it should be. I tried very hard, and unsuccessfully to avoid that code being duplicated in Phobos and Tango, it's fantastic that you've finally achieved it.
Feb 04 2012
On 04/02/12 15:50, Damian Ziemba wrote:On Thursday, 2 February 2012 at 13:50:56 UTC, Don Clugston wrote:That's OK. It has no dependencies on anything else in Phobos. (OK, recently there is a toString() thing, which needs to be sorted out in general for Phobos/Tango compatibility).On 01/02/12 05:59, SiegeLord wrote:Don, what about cases when you don't need Phobos at all and you would to stick to Tango+Druntime only?Hello everyone, Just wanted to put out an announcement with a progress report on porting effort of Tango. Through the heroic efforts by Igor Stepanov, the initial porting was completed ahead of schedule.All the user modules are now ported(save for tango.math.BigInt, which right now is aliased tostd.bigint... this might change in the future) Please don't change that! That's the way it should be. I tried very hard, and unsuccessfully to avoid that code being duplicated in Phobos and Tango, it's fantastic that you've finally achieved it.tango.math.internal.* are mostly constness changes (and coding style change :D) but tango.math.BigInt and std.bigint seems to be a bit different (more features in Phobos version?)I wrote both of them. The tango one is just a really old version, with many more bugs.
Feb 06 2012
Great news. Makes me wanna do D again after I gave it up mainly because the lack of Tango for D2 and the obvious death of D1 years ago. I don't see the announcement in the tango forums. I'm wandering if the original tango developers have any plans in using D2 and developing tango for D2? Also what are your plans for maintaining the port? Does it seem it will have long happy future or it is more of a hobby project? Regards, bobef On 1.2.2012 г. 06:59 ч., SiegeLord wrote:Hello everyone, Just wanted to put out an announcement with a progress report on porting effort of Tango. For those that don't know what it is, Tango is a framework library that used to be/is the de facto standard library of D1. Through the heroic efforts by Igor Stepanov, the initial porting was completed ahead of schedule. All the user modules are now ported (save for tango.math.BigInt, which right now is aliased to std.bigint... this might change in the future). All unittests pass on Linux (using LDC2) and most do on Windows. Additionally, again kudos to Igor, it compiles with -property and -w flags for all of you style purists. Additionally, most of the examples have been also ported. I have personally used Tango in few KLoC line D2 project and I find it works just as well as it did in D1. This is naturally not the end, in the coming weeks/months you can expect the following: -New Makefile based build system -Documentation creation -Ironing out of a few const related inelegancies -Revival of the support for MacOSX and FreeBSD -Revival of the GDC -Shared library creation -Dance lessons You can download the latest version of it here: https://github.com/SiegeLord/Tango-D2 FAQ Does it work alongside Phobos/does it use druntime? Yes and yes. Why are you doing this? Because I want to. That's all, -SiegeLord
Feb 04 2012
On 02/04/2012 11:56 AM, bobef wrote:Great news. Makes me wanna do D again after I gave it up mainly because the lack of Tango for D2 and the obvious death of D1 years ago. I don't see the announcement in the tango forums. I'm wandering if the original tango developers have any plans in using D2 and developing tango for D2? Also what are your plans for maintaining the port? Does it seem it will have long happy future or it is more of a hobby project? Regards, bobefI cannot speak for SiegeLord, but since the project is on github, anyone can fork it and continue the maintenance. As long as there is someone who wants it to be maintained, it probably will be.
Feb 04 2012
On 02/04/2012 05:56 AM, bobef wrote:Great news. Makes me wanna do D again after I gave it up mainly because the lack of Tango for D2 and the obvious death of D1 years ago. I don't see the announcement in the tango forums. I'm wandering if the original tango developers have any plans in using D2 and developing tango for D2? Also what are your plans for maintaining the port? Does it seem it will have long happy future or it is more of a hobby project? Regards, bobefTo add to what Timon Gehr said, I plan on using it and thus maintaining it as much as possible. I keep it synched up with the D1 original, so as long as the Tango developers keep improving the original, I'll keep the port updated. I also welcome new features as long as they are in the spirit of Tango, and don't break backwards compatibility too much (after all, a big use case of Tango is for porting). I haven't talked to the developers about making this an "official" port or anything like that. I plan to in the future. -SiegeLord
Feb 05 2012
On Saturday, 4 February 2012 at 10:56:14 UTC, bobef wrote:Great news. ...Same here! This is the number one thing I waited for to be ported to D2. I never considered moving to D2 without Tango. Big thanks to SiegeLord and all the other contributors. Just one example why I like Tango: hello_tango.d: module hello_tango; // dmd 2.057 + SiegeLord-Tango-D2-4c9566e 2012-01-24 import tango.io.Stdout; int main(string[] args) { foreach(i, arg; args) { Stdout.formatln(" arg {,3}: '{}'", i, arg); } return 0; } rdmd --build-only -release -O hello_tango.d hello_tango a b ä ö arg 0: 'hello_tango' arg 1: 'a' arg 2: 'b' arg 3: 'ä' arg 4: 'ö' hello_phobos.d: module hello_phobos; // dmd 2.057 import std.stdio; int main(string[] args) { foreach(i, arg; args) { stdout.writefln(" arg %3d: '%s'", i, arg); } return 0; } rdmd --build-only -release -O hello_phobos.d hello_phobos a b ä ö arg 0: 'hello_phobos' arg 1: 'a' arg 2: 'b' arg 3: '+ñ' arg 4: '+Â' E:\source\D\d2>dir he* 09.02.2012 15:18 204 hello_phobos.d 09.02.2012 15:18 992.284 hello_phobos.exe 09.02.2012 15:18 250 hello_tango.d 09.02.2012 15:18 180.764 hello_tango.exe The hello_tango.exe is much smaller and it even works with strange german umlauts :-) BTW: Tango doesn't build (bob) with dmd 2.058 beta because of: ... dmd -c -I. -release -oftango-net-device-Berkeley-release.obj ./tango/net/device/Berkeley.d object.Exception build\src\bob.d(632): Process exited normally with return code 1 .\tango\net\device\Berkeley.d(1921): Error: cannot implicitly convert expression (new char[][](cast(uint)i)) of type char[][] to const(char)[][]
Feb 09 2012
On 02/09/2012 06:05 PM, HeiHon wrote:On Saturday, 4 February 2012 at 10:56:14 UTC, bobef wrote:For me it is the other way round: I never considered trying Tango until it was ported to D2. =)Great news. ...Same here! This is the number one thing I waited for to be ported to D2. I never considered moving to D2 without Tango. Big thanks to SiegeLord and all the other contributors.Just one example why I like Tango: hello_tango.d: module hello_tango; // dmd 2.057 + SiegeLord-Tango-D2-4c9566e 2012-01-24 import tango.io.Stdout; int main(string[] args) { foreach(i, arg; args) { Stdout.formatln(" arg {,3}: '{}'", i, arg); } return 0; } rdmd --build-only -release -O hello_tango.d hello_tango a b ä ö arg 0: 'hello_tango' arg 1: 'a' arg 2: 'b' arg 3: 'ä' arg 4: 'ö' hello_phobos.d: module hello_phobos; // dmd 2.057 import std.stdio; int main(string[] args) { foreach(i, arg; args) { stdout.writefln(" arg %3d: '%s'", i, arg); } return 0; }fixed: import std.stdio; void main(string[] args){ foreach(i, arg; args){ writefln(" arg %3d: '%s'", i, arg); } }rdmd --build-only -release -O hello_phobos.d hello_phobos a b ä ö arg 0: 'hello_phobos' arg 1: 'a' arg 2: 'b' arg 3: '+ñ' arg 4: '+Â' E:\source\D\d2>dir he* 09.02.2012 15:18 204 hello_phobos.d 09.02.2012 15:18 992.284 hello_phobos.exe 09.02.2012 15:18 250 hello_tango.d 09.02.2012 15:18 180.764 hello_tango.exe The hello_tango.exe is much smaller and it even works with strange german umlauts :-)Works for me with Phobos perfectly fine. What platform are you on? (probably Windows?)BTW: Tango doesn't build (bob) with dmd 2.058 beta because of: ... dmd -c -I. -release -oftango-net-device-Berkeley-release.obj ./tango/net/device/Berkeley.d object.Exception build\src\bob.d(632): Process exited normally with return code 1 .\tango\net\device\Berkeley.d(1921): Error: cannot implicitly convert expression (new char[][](cast(uint)i)) of type char[][] to const(char)[][]Harmless 'bug' exposed by bugfix in compiler. Should be a trivial. It would cease to be an issue if this enhancement was implemented in the compiler: http://d.puremagic.com/issues/show_bug.cgi?id=7208
Feb 09 2012
On Thursday, 9 February 2012 at 17:39:39 UTC, Timon Gehr wrote:For me it is the other way round: I never considered trying Tango until it was ported to D2. =)But I started using D back in the pre 0.125 days (2004) and I got used to using Tango.fixed: import std.stdio; void main(string[] args){ foreach(i, arg; args){ writefln(" arg %3d: '%s'", i, arg); } }Just tried again with dmd2.057 and dmd2.058 beta: foreach(i, arg; args) { writefln(" arg %3d: '%s'", i, arg); } And it's still the same.Works for me with Phobos perfectly fine. What platform are you on? (probably Windows?)Yes, Win XP SP3 32 Bit. OT: Just tried the new DMD 2.058 beta: Whoa! Magicians at work. I do like this: hello.d: module hello; import std.stdio; void main(string[] args) { foreach(i, arg; args) { writefln(" arg %3d: '%s'", i, arg); } } rdmd --build-only -release -O hello.d dmd2.057: E:\source\D\d2>dir hello.exe 09.02.2012 18:21 992.284 hello.exe dmd2.058beta: E:\source\D\d2>dir hello.exe 09.02.2012 18:22 216.604 hello.exe +1Harmless 'bug' exposed by bugfix in compiler. Should be a trivial. It would cease to be an issue if this enhancement was implemented in the compiler: http://d.puremagic.com/issues/show_bug.cgi?id=7208Will have a look.
Feb 09 2012
doc\example\system\stacktrace.d has exception: object.Exception .\tango\core\tools\WinStackTrace.d(1918): Can't initialize the TangoTrace LGPL stuff
Feb 05 2012
On 02/05/2012 07:04 AM, Nengwen Zhuo wrote:doc\example\system\stacktrace.d has exception: object.Exception .\tango\core\tools\WinStackTrace.d(1918): Can't initialize the TangoTrace LGPL stuffIt should be fixed now. Make sure to compile the example and the library with the -g flag. -SiegeLord
Feb 05 2012