digitalmars.D.announce - dmd 1.062 and 2.047 release
- Walter Bright (6/6) Jun 12 2010 There are a lot of improvements in this release, done by quite a lot of ...
- Lutger (4/4) Jun 13 2010 Great, thank you!
- Andrei Alexandrescu (4/8) Jun 13 2010 I removed std.openrj a while ago.
- Lutger (3/19) Jun 13 2010 std.openrj is still included is the src folder and in the repository. Th...
- Walter Bright (2/8) Jun 13 2010 Fixed.
- Robert Jacques (3/11) Jun 13 2010 I know std.json is buggy and not ready for prime-time yet.
- Robert Jacques (6/20) Jun 13 2010 Sorry, spoke a bit too soon. I know there was a bug in an old version of...
- Eric Poggel (6/10) Jun 13 2010 Speaking of std.json, has anyone looked at the Orange library on
- Jacob Carlborg (6/23) Jun 15 2010 I would but it the other way around, a serialization front end with
- Eric Poggel (4/27) Jun 16 2010 Maybe I'm calling the front-end the back-end. Orange provides a
- Jacob Carlborg (7/36) Jun 16 2010 Yes, regardless of what the parts are called you description is correct....
- torhu (15/15) Jun 13 2010 I tried the example on page 406-407 of the book (copying stdin to stdout...
- Sean Kelly (20/39) Jun 14 2010 stdin.byChunk uses a mutable buffer that's overwritten for each chunk so...
- torhu (2/21) Jun 14 2010 Right, now where's the bugzilla for TDPL? :)
- bearophile (21/22) Jun 14 2010 This program:
- Andrei Alexandrescu (3/36) Jun 14 2010 Thank you guys. Indeed that was my intent.
- bearophile (4/5) Jun 14 2010 What do you mean?
- bearophile (1/2) Jun 14 2010 I have now understood :-)
- strtr (4/4) Jun 15 2010 My project takes 4 times longer to compile with 1.062 (iso 1.061).
- Walter Bright (2/5) Jun 15 2010 I have no idea why that might be. Anyone else have this problem?
- strtr (2/2) Jun 15 2010 It's the optimization :)
- Walter Bright (3/5) Jun 15 2010 Well, that explains it! Little attempt is made in the optimizer to make ...
- Brad Roberts (3/9) Jun 15 2010 Chances are that the changes to allow more inlining contribute to handin...
- Walter Bright (2/12) Jun 15 2010 You're very likely right.
- BCS (5/13) Jun 15 2010 How does 1.061 w/ -O compare to 1.062 w/ -O? If 62 is much slower that m...
- strtr (12/23) Jun 15 2010 That is exactly what I mentioned :?
- Eric Poggel (2/25) Jun 16 2010 "Reticulating Splines" was always my favorite.
There are a lot of improvements in this release, done by quite a lot of people working on it. Thanks to everyone who pitched in! http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.062.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.047.zip
Jun 12 2010
Great, thank you! I noticed both std.concurrency and std.json are not (yet?) included in the documentation. Does that have any bearing on their status, are they usable and / or stable? There are some other modules without documentation like std.openrj and std.perf. Is there a page somewhere that documents their fate? I could only find this one: http://www.wikiservice.at/wiki4d/wiki.cgi?LanguageDevel
Jun 13 2010
Lutger wrote:Great, thank you! I noticed both std.concurrency and std.json are not (yet?) included in the documentation. Does that have any bearing on their status, are they usable and / or stable?std.container too.There are some other modules without documentation like std.openrj and std.perf.I removed std.openrj a while ago. Andrei
Jun 13 2010
Andrei Alexandrescu wrote:Lutger wrote:std.openrj is still included is the src folder and in the repository. There is a commit on it 4 weeks ago, perhaps it should be deleted from svn? http://www.dsource.org/projects/phobos/browser/trunk/phobos/std/openrj.d?rev=1519Great, thank you! I noticed both std.concurrency and std.json are not (yet?) included in the documentation. Does that have any bearing on their status, are they usable and / or stable?std.container too.There are some other modules without documentation like std.openrj and std.perf.I removed std.openrj a while ago. Andrei
Jun 13 2010
Andrei Alexandrescu wrote:Lutger wrote:Fixed.I noticed both std.concurrency and std.json are not (yet?) included in the documentation. Does that have any bearing on their status, are they usable and / or stable?std.container too.
Jun 13 2010
On Sun, 13 Jun 2010 09:30:43 -0400, Lutger <lutger.blijdestijn gmail.com> wrote:Great, thank you! I noticed both std.concurrency and std.json are not (yet?) included in the documentation. Does that have any bearing on their status, are they usable and / or stable? There are some other modules without documentation like std.openrj and std.perf. Is there a page somewhere that documents their fate? I could only find this one: http://www.wikiservice.at/wiki4d/wiki.cgi?LanguageDevelI know std.json is buggy and not ready for prime-time yet.
Jun 13 2010
On Sun, 13 Jun 2010 12:13:54 -0400, Robert Jacques <sandford jhu.edu> wrote:On Sun, 13 Jun 2010 09:30:43 -0400, Lutger <lutger.blijdestijn gmail.com> wrote:Sorry, spoke a bit too soon. I know there was a bug in an old version of the code-base to do with unicode escape character parsing. I don't know if it got fixed. And I thought I saw a new bug in the code base as I was skimming it, but it turned out not to be an issue.Great, thank you! I noticed both std.concurrency and std.json are not (yet?) included in the documentation. Does that have any bearing on their status, are they usable and / or stable? There are some other modules without documentation like std.openrj and std.perf. Is there a page somewhere that documents their fate? I could only find this one: http://www.wikiservice.at/wiki4d/wiki.cgi?LanguageDevelI know std.json is buggy and not ready for prime-time yet.
Jun 13 2010
On 6/13/2010 9:30 AM, Lutger wrote:Great, thank you! I noticed both std.concurrency and std.json are not (yet?) included in the documentation. Does that have any bearing on their status, are they usable and / or stable? There are some other modules without documentation like std.openrj and std.perf. Is there a page somewhere that documents their fate? I could only find this one: http://www.wikiservice.at/wiki4d/wiki.cgi?LanguageDevelSpeaking of std.json, has anyone looked at the Orange library on dsource? http://www.dsource.org/projects/orange/ I haven't used it (yet), but it looks to support a back-end serialization engine that supports different front-ends, with xml currently being implemented. It's also Boost licensed.
Jun 13 2010
On 2010-06-14 04:10, Eric Poggel wrote:On 6/13/2010 9:30 AM, Lutger wrote:I would but it the other way around, a serialization front end with support for different back ends (archive types). I hope to add support for Phobos soon. -- /Jacob CarlborgGreat, thank you! I noticed both std.concurrency and std.json are not (yet?) included in the documentation. Does that have any bearing on their status, are they usable and / or stable? There are some other modules without documentation like std.openrj and std.perf. Is there a page somewhere that documents their fate? I could only find this one: http://www.wikiservice.at/wiki4d/wiki.cgi?LanguageDevelSpeaking of std.json, has anyone looked at the Orange library on dsource? http://www.dsource.org/projects/orange/ I haven't used it (yet), but it looks to support a back-end serialization engine that supports different front-ends, with xml currently being implemented. It's also Boost licensed.
Jun 15 2010
On 6/15/2010 5:58 AM, Jacob Carlborg wrote:On 2010-06-14 04:10, Eric Poggel wrote:Maybe I'm calling the front-end the back-end. Orange provides a reflection/serialization engine and allows for plugable serialization types--xml being the only one implemented so far.On 6/13/2010 9:30 AM, Lutger wrote:I would but it the other way around, a serialization front end with support for different back ends (archive types). I hope to add support for Phobos soon.Great, thank you! I noticed both std.concurrency and std.json are not (yet?) included in the documentation. Does that have any bearing on their status, are they usable and / or stable? There are some other modules without documentation like std.openrj and std.perf. Is there a page somewhere that documents their fate? I could only find this one: http://www.wikiservice.at/wiki4d/wiki.cgi?LanguageDevelSpeaking of std.json, has anyone looked at the Orange library on dsource? http://www.dsource.org/projects/orange/ I haven't used it (yet), but it looks to support a back-end serialization engine that supports different front-ends, with xml currently being implemented. It's also Boost licensed.
Jun 16 2010
== Quote from Eric Poggel (dnewsgroup yage3d.net)'s articleOn 6/15/2010 5:58 AM, Jacob Carlborg wrote:Yes, regardless of what the parts are called you description is correct. I'm working now on creating an XML document abstraction layer so I can support both Tango and Phobos. (replying using the Web interface, this particular post didn't have any content in my news reader) /Jacob CarlborgOn 2010-06-14 04:10, Eric Poggel wrote:Maybe I'm calling the front-end the back-end. Orange provides a reflection/serialization engine and allows for plugable serialization types--xml being the only one implemented so far.On 6/13/2010 9:30 AM, Lutger wrote:I would but it the other way around, a serialization front end with support for different back ends (archive types). I hope to add support for Phobos soon.Great, thank you! I noticed both std.concurrency and std.json are not (yet?) included in the documentation. Does that have any bearing on their status, are they usable and / or stable? There are some other modules without documentation like std.openrj and std.perf. Is there a page somewhere that documents their fate? I could only find this one: http://www.wikiservice.at/wiki4d/wiki.cgi?LanguageDevelSpeaking of std.json, has anyone looked at the Orange library on dsource? http://www.dsource.org/projects/orange/ I haven't used it (yet), but it looks to support a back-end serialization engine that supports different front-ends, with xml currently being implemented. It's also Boost licensed.
Jun 16 2010
I tried the example on page 406-407 of the book (copying stdin to stdout using message passing). I don't mean to be a killjoy, but it doesn't compile. :( I'm using the latest pdf version of the book, and dmd 2.047. I get this: --- d:\prog\dmd\bin\..\src\phobos\std\stdio.d(1902): Error: cannot implicitly conver t expression (buffer) of type ubyte[] to immutable(ubyte)[] d:\prog\dmd\bin\..\src\phobos\std\stdio.d(7): Error: template instance std.stdio .chunks.opApply!(int delegate(ref immutable(ubyte)[] __applyArg0)) error instant iating ---
Jun 13 2010
torhu Wrote:I tried the example on page 406-407 of the book (copying stdin to stdout using message passing). I don't mean to be a killjoy, but it doesn't compile. :( I'm using the latest pdf version of the book, and dmd 2.047. I get this: --- d:\prog\dmd\bin\..\src\phobos\std\stdio.d(1902): Error: cannot implicitly conver t expression (buffer) of type ubyte[] to immutable(ubyte)[] d:\prog\dmd\bin\..\src\phobos\std\stdio.d(7): Error: template instance std.stdio .chunks.opApply!(int delegate(ref immutable(ubyte)[] __applyArg0)) error instant iating ---stdin.byChunk uses a mutable buffer that's overwritten for each chunk so you can't ask for an immutable ubyte[] in the foreach line. Here's the version of that sample I used to test (13.7): import std.algorithm, std.concurrency, std.stdio; void main() { enum bufferSize = 10; auto tid = spawn( &fileWriter ); // Read loop foreach( ubyte[] buffer; stdin.byChunk( bufferSize ) ) send( tid, buffer.idup ); } void fileWriter() { // Write loop for( ; ; ) { auto buffer = receiveOnly!(immutable(ubyte)[])(); writeln( "rx: ", buffer ); } }
Jun 14 2010
On 15.06.2010 00:45, Sean Kelly wrote:stdin.byChunk uses a mutable buffer that's overwritten for each chunk so you can't ask for an immutable ubyte[] in the foreach line. Here's the version of that sample I used to test (13.7): import std.algorithm, std.concurrency, std.stdio; void main() { enum bufferSize = 10; auto tid = spawn(&fileWriter ); // Read loop foreach( ubyte[] buffer; stdin.byChunk( bufferSize ) ) send( tid, buffer.idup ); } void fileWriter() { // Write loop for( ; ; ) { auto buffer = receiveOnly!(immutable(ubyte)[])(); writeln( "rx: ", buffer ); } }Right, now where's the bugzilla for TDPL? :)
Jun 14 2010
I am back. From the v2.047 changelog:std.conv: Added file and line information to conversion errors; added brackets '[' and ']' around arrays and associative arrays as defaults; added emplace() for non-class types.<This program: import std.stdio: writeln; import std.conv: to; void main() { int[] a = [1, 2, 3]; writeln(to!string(a)); writeln(a); } Prints: [1 2 3] 1 2 3 But I think if they produce the same default output. Like: [1, 2, 3] [1, 2, 3] -------------------------- I have reopened bug 4109 and in the meantime Shin Fujishiro has closed it again. He looks efficient :-) Bye, bearophile
Jun 14 2010
bearophile wrote:I am back. From the v2.047 changelog:Thank you guys. Indeed that was my intent. Andreistd.conv: Added file and line information to conversion errors; added brackets '[' and ']' around arrays and associative arrays as defaults; added emplace() for non-class types.<This program: import std.stdio: writeln; import std.conv: to; void main() { int[] a = [1, 2, 3]; writeln(to!string(a)); writeln(a); } Prints: [1 2 3] 1 2 3 But I think if they produce the same default output. Like: [1, 2, 3] [1, 2, 3] -------------------------- I have reopened bug 4109 and in the meantime Shin Fujishiro has closed it again. He looks efficient :-) Bye, bearophile
Jun 14 2010
Andrei Alexandrescu:Thank you guys. Indeed that was my intent.What do you mean? Bye, bearophile
Jun 14 2010
What do you mean?I have now understood :-)
Jun 14 2010
My project takes 4 times longer to compile with 1.062 (iso 1.061). It now takes 1min 20sec on my p4 and memory doesn't seem to be the problem (<80MB). I'd rather have it below 30sec :) bud prj\main.d -w -inline -O -full -cleanup -IC:\D\Libs\
Jun 15 2010
strtr wrote:My project takes 4 times longer to compile with 1.062 (iso 1.061). It now takes 1min 20sec on my p4 and memory doesn't seem to be the problem (<80MB). I'd rather have it below 30sec :)I have no idea why that might be. Anyone else have this problem?
Jun 15 2010
It's the optimization :) Without -O compilation took only a few seconds!
Jun 15 2010
strtr wrote:It's the optimization :) Without -O compilation took only a few seconds!Well, that explains it! Little attempt is made in the optimizer to make it compile faster if that would interfere with generating faster code.
Jun 15 2010
On Tue, 15 Jun 2010, Walter Bright wrote:strtr wrote:Chances are that the changes to allow more inlining contribute to handing the optimizer more work to chew on too.It's the optimization :) Without -O compilation took only a few seconds!Well, that explains it! Little attempt is made in the optimizer to make it compile faster if that would interfere with generating faster code.
Jun 15 2010
Brad Roberts wrote:On Tue, 15 Jun 2010, Walter Bright wrote:You're very likely right.strtr wrote:Chances are that the changes to allow more inlining contribute to handing the optimizer more work to chew on too.It's the optimization :) Without -O compilation took only a few seconds!Well, that explains it! Little attempt is made in the optimizer to make it compile faster if that would interfere with generating faster code.
Jun 15 2010
Hello Walter,strtr wrote:How does 1.061 w/ -O compare to 1.062 w/ -O? If 62 is much slower that might be of interest. -- ... <IXOYE><It's the optimization :) Without -O compilation took only a few seconds!Well, that explains it! Little attempt is made in the optimizer to make it compile faster if that would interfere with generating faster code.
Jun 15 2010
== Quote from BCS (none anon.com)'s articleHello Walter,That is exactly what I mentioned :? Or did you mean w/o ? In that case I don't much care it takes 5 or 10 seconds for thousands of lines of code :) (or, I don't know how to time dmd more precise than with my stopwatch when called through bud :D) Anyway, I kind of like that it takes longer now with optimization. I haven't checked whether things actually got any faster, but it feels a bit like in older games when it said: "Optimizing X for your computer" or "Generating A.I." :)strtr wrote:How does 1.061 w/ -O compare to 1.062 w/ -O? If 62 is much slower that might be of interest.It's the optimization :) Without -O compilation took only a few seconds!Well, that explains it! Little attempt is made in the optimizer to make it compile faster if that would interfere with generating faster code.
Jun 15 2010
On 6/15/2010 7:58 PM, strtr wrote:== Quote from BCS (none anon.com)'s article"Reticulating Splines" was always my favorite.Hello Walter,That is exactly what I mentioned :? Or did you mean w/o ? In that case I don't much care it takes 5 or 10 seconds for thousands of lines of code :) (or, I don't know how to time dmd more precise than with my stopwatch when called through bud :D) Anyway, I kind of like that it takes longer now with optimization. I haven't checked whether things actually got any faster, but it feels a bit like in older games when it said: "Optimizing X for your computer" or "Generating A.I." :)strtr wrote:How does 1.061 w/ -O compare to 1.062 w/ -O? If 62 is much slower that might be of interest.It's the optimization :) Without -O compilation took only a few seconds!Well, that explains it! Little attempt is made in the optimizer to make it compile faster if that would interfere with generating faster code.
Jun 16 2010