digitalmars.D.announce - dmd 1.062 and 2.047 release
- Walter Bright <newshound1 digitalmars.com> Jun 12 2010
- Lutger <lutger.blijdestijn gmail.com> Jun 13 2010
- Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> Jun 13 2010
- Lutger <lutger.blijdestijn gmail.com> Jun 13 2010
- Walter Bright <newshound1 digitalmars.com> Jun 13 2010
- "Robert Jacques" <sandford jhu.edu> Jun 13 2010
- "Robert Jacques" <sandford jhu.edu> Jun 13 2010
- Eric Poggel <dnewsgroup yage3d.net> Jun 13 2010
- Jacob Carlborg <doob me.com> Jun 15 2010
- Eric Poggel <dnewsgroup yage3d.net> Jun 16 2010
- Jacob Carlborg <doob me.com> Jun 16 2010
- torhu <no spam.invalid> Jun 13 2010
- Sean Kelly <sean invisibleduck.org> Jun 14 2010
- torhu <no spam.invalid> Jun 14 2010
- bearophile <bearophileHUGS lycos.com> Jun 14 2010
- Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> Jun 14 2010
- bearophile <bearophileHUGS lycos.com> Jun 14 2010
- bearophile <bearophileHUGS lycos.com> Jun 14 2010
- strtr <strtr spam.com> Jun 15 2010
- Walter Bright <newshound1 digitalmars.com> Jun 15 2010
- strtr <strtr spam.com> Jun 15 2010
- Walter Bright <newshound1 digitalmars.com> Jun 15 2010
- Brad Roberts <braddr slice-2.puremagic.com> Jun 15 2010
- Walter Bright <newshound1 digitalmars.com> Jun 15 2010
- BCS <none anon.com> Jun 15 2010
- strtr <strtr sp.am> Jun 15 2010
- Eric Poggel <dnewsgroup yage3d.net> Jun 16 2010
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: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
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=1519
Jun 13 2010
Andrei Alexandrescu wrote:Lutger wrote: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.
Fixed.
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?LanguageDevel
I 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: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
I know std.json is buggy and not ready for prime-time yet.
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.
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?LanguageDevel
Speaking 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: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
Speaking 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.
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 Carlborg
Jun 15 2010
On 6/15/2010 5:58 AM, Jacob Carlborg wrote:On 2010-06-14 04:10, Eric Poggel wrote: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?LanguageDevel
Speaking 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.
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.
reflection/serialization engine and allows for plugable serialization types--xml being the only one implemented so far.
Jun 16 2010
== Quote from Eric Poggel (dnewsgroup yage3d.net)'s articleOn 6/15/2010 5:58 AM, Jacob Carlborg wrote:On 2010-06-14 04:10, Eric Poggel wrote: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?LanguageDevel
Speaking 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.
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.
reflection/serialization engine and allows for plugable serialization types--xml being the only one implemented so far.
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 Carlborg
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: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
Thank you guys. Indeed that was my intent. Andrei
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: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.
Chances are that the changes to allow more inlining contribute to handing the optimizer more work to chew on too.
Jun 15 2010
Brad Roberts wrote:On Tue, 15 Jun 2010, Walter Bright wrote:strtr wrote:It's the optimization :) Without -O compilation took only a few seconds!
compile faster if that would interfere with generating faster code.
Chances are that the changes to allow more inlining contribute to handing the optimizer more work to chew on too.
You're very likely right.
Jun 15 2010
Hello Walter,strtr wrote:It's the optimization :) Without -O compilation took only a few seconds!
make it compile faster if that would interfere with generating faster code.
How does 1.061 w/ -O compare to 1.062 w/ -O? If 62 is much slower that might be of interest. -- ... <IXOYE><
Jun 15 2010
== Quote from BCS (none anon.com)'s articleHello Walter,strtr wrote:It's the optimization :) Without -O compilation took only a few seconds!
make it compile faster if that would interfere with generating faster code.
be of interest.
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." :)
Jun 15 2010
On 6/15/2010 7:58 PM, strtr wrote:== Quote from BCS (none anon.com)'s articleHello Walter,strtr wrote:It's the optimization :) Without -O compilation took only a few seconds!
make it compile faster if that would interfere with generating faster code.
be of interest.
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." :)
"Reticulating Splines" was always my favorite.
Jun 16 2010









Lutger <lutger.blijdestijn gmail.com> 