digitalmars.D.announce - dmd 1.042 and 2.027 releases
- Walter Bright <newshound1 digitalmars.com> Mar 31 2009
- "Nick Sabalausky" <a a.a> Mar 31 2009
- Walter Bright <newshound1 digitalmars.com> Mar 31 2009
- Olli Aalto <oaalto gmail.com> Apr 01 2009
- Walter Bright <newshound1 digitalmars.com> Apr 01 2009
- Walter Bright <newshound1 digitalmars.com> Apr 01 2009
- Olli Aalto <oaalto gmail.com> Apr 01 2009
- Max Samukha <samukha voliacable.com.removethis> Apr 01 2009
- Walter Bright <newshound1 digitalmars.com> Apr 01 2009
- Christopher Wright <dhasenan gmail.com> Apr 01 2009
- bearophile <bearophileHUGS lycos.com> Apr 01 2009
- Don <nospam nospam.com> Apr 01 2009
- Charles Hixson <charleshixsn earthlink.net> Apr 01 2009
- Christopher Wright <dhasenan gmail.com> Apr 01 2009
- Christopher Wright <dhasenan gmail.com> Apr 01 2009
- Max Samukha <samukha voliacable.com.removethis> Apr 01 2009
- Walter Bright <newshound1 digitalmars.com> Apr 01 2009
- Christopher Wright <dhasenan gmail.com> Apr 01 2009
- Max Samukha <samukha voliacable.com.removethis> Apr 01 2009
- davidl <davidl 126.com> Apr 01 2009
- naryl <cy ngs.ru> Apr 01 2009
- Brad Roberts <braddr puremagic.com> Apr 01 2009
- davidl <davidl 126.com> Apr 01 2009
- bearophile <bearophileHUGS lycos.com> Apr 01 2009
- 0ffh <frank youknow.what.todo.interNETz> Apr 01 2009
- 0ffh <frank youknow.what.todo.interNETz> Apr 01 2009
- Walter Bright <newshound1 digitalmars.com> Apr 01 2009
- Lars Kyllingstad <public kyllingen.NOSPAMnet> Apr 01 2009
- Walter Bright <newshound1 digitalmars.com> Apr 01 2009
- dsimcha <dsimcha yahoo.com> Apr 01 2009
- Don <nospam nospam.com> Apr 01 2009
- dsimcha <dsimcha yahoo.com> Apr 01 2009
- dsimcha <dsimcha yahoo.com> Apr 01 2009
- Daniel Keep <daniel.keep.lists gmail.com> Apr 01 2009
- Bill Baxter <wbaxter gmail.com> Apr 01 2009
- Bill Baxter <wbaxter gmail.com> Apr 01 2009
- Georg Wrede <georg.wrede iki.fi> Apr 02 2009
- Don <nospam nospam.com> Apr 02 2009
- Walter Bright <newshound1 digitalmars.com> Apr 02 2009
The large volume of bug fixes is because a lot of people contributed patches. Thanks! http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.042.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.027.zip
Mar 31 2009
"Walter Bright" <newshound1 digitalmars.com> wrote in message news:gqutln$1q9u$1 digitalmars.com...The large volume of bug fixes is because a lot of people contributed patches. Thanks! http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.042.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.027.zip
On April 1? What is this, a joke? ;-)
Mar 31 2009
Nick Sabalausky wrote:On April 1? What is this, a joke? ;-)
It's still March here!
Mar 31 2009
Walter Bright wrote:The large volume of bug fixes is because a lot of people contributed patches. Thanks! http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.042.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.027.zip
main.d => main Error: version identifier 'Posix' is reserved and cannot be set Command /home/oaalto/D/dsss/bin/rebuild returned with code 256, aborting. Error: Command failed, aborting. Wasn't this supposed to be fixed for 1.042 too?
Apr 01 2009
Olli Aalto wrote:main.d => main Error: version identifier 'Posix' is reserved and cannot be set Command /home/oaalto/D/dsss/bin/rebuild returned with code 256, aborting. Error: Command failed, aborting. Wasn't this supposed to be fixed for 1.042 too?
Yes. I goofed that up. Sorry.
Apr 01 2009
Walter Bright wrote:Yes. I goofed that up. Sorry.
I uploaded a patched version to fix it.
Apr 01 2009
Walter Bright wrote:Walter Bright wrote:Yes. I goofed that up. Sorry.
I uploaded a patched version to fix it.
Works now. Thank you.
Apr 01 2009
On Tue, 31 Mar 2009 22:21:59 -0700, Walter Bright <newshound1 digitalmars.com> wrote:The large volume of bug fixes is because a lot of people contributed patches. Thanks! http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.042.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.027.zip
Great! Does it mean opDot is deprecated?
Apr 01 2009
Max Samukha wrote:Great! Does it mean opDot is deprecated?
Yes.
Apr 01 2009
davidl wrote:在 Wed, 01 Apr 2009 16:43:57 +0800,Max Samukha <samukha voliacable.com.removethis> 写道:On Tue, 31 Mar 2009 22:21:59 -0700, Walter Bright <newshound1 digitalmars.com> wrote:The large volume of bug fixes is because a lot of people contributed patches. Thanks! http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.042.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.027.zip
Great! Does it mean opDot is deprecated?
why not make opDot some compile time stuff? class V { opDot(char[] method, ...) { // runtime lib to figure what the method is, and then call it with vararg! } }
I'm in favor of adding more dynamic stuff to D, but it's going to happen slowly.
Apr 01 2009
davidl:why not make opDot some compile time stuff?
You mean run time.this can be particular useful for COM
And GUIs, I guess. It smells of Object-C++, but the syntax is nicer. But such runtime code must be not included into the executable if this feature is nowhere used in the code. D executable are already quite big enough. Bye, bearophile
Apr 01 2009
bearophile wrote:davidl:why not make opDot some compile time stuff?
You mean run time.
No, he means compile time. The name becomes a template value parameter, which is available at compile time.this can be particular useful for COM
And GUIs, I guess. It smells of Object-C++, but the syntax is nicer. But such runtime code must be not included into the executable if this feature is nowhere used in the code. D executable are already quite big enough.
There's not necessarily any runtime code.Bye, bearophile
Apr 01 2009
bearophile wrote:davidl:why not make opDot some compile time stuff?
You mean run time.this can be particular useful for COM
And GUIs, I guess. It smells of Object-C++, but the syntax is nicer. But such runtime code must be not included into the executable if this feature is nowhere used in the code. D executable are already quite big enough. Bye, bearophile
considered Object-C++. Seriously... It's important to be able to write code that can be optimized at compile time...and it's also important to be able to write code that can be dynamic at run-time. D has been lacking in the second set of capabilities, though it's been dynamite at the first. ... After saying this I started thinking a bit more. D is more dynamic that we normally give it credit for, but the syntax for dynamic interaction is painful, so it tends not to be used.
Apr 01 2009
Charles Hixson wrote:bearophile wrote:davidl:why not make opDot some compile time stuff?
You mean run time.this can be particular useful for COM
And GUIs, I guess. It smells of Object-C++, but the syntax is nicer. But such runtime code must be not included into the executable if this feature is nowhere used in the code. D executable are already quite big enough. Bye, bearophile
considered Object-C++. Seriously... It's important to be able to write code that can be optimized at compile time...and it's also important to be able to write code that can be dynamic at run-time. D has been lacking in the second set of capabilities, though it's been dynamite at the first. ... After saying this I started thinking a bit more. D is more dynamic that we normally give it credit for, but the syntax for dynamic interaction is painful, so it tends not to be used.
What dynamic features would be useful? D has: - get an opaque reference to a type - get the name of a type - get a smattering of other information about a type - polymorphic method dispatch - safe casts - constructing objects with default constructors by reflection The other common dynamic/reflection type stuff: - getting information about fields and methods - getting and setting fields - invoking methods by reflection - constructing objects by reflection, even if they don't have default constructors Walter says you can do everything here using compile-time reflection. That's true, but it doesn't suffice, I think. You need something like Jascha Wetzel's ClassInfoEx in the standard library. I'd be willing to write such a thing, if it would be accepted. (ClassInfoEx has no license information included in it, and Jascha is not around, so it cannot be used.) But it _has_ to be in the standard library. Additionally, it can't incur greater costs to mix it in multiple times -- it should be idempotent.
Apr 01 2009
Bill Baxter wrote:On Thu, Apr 2, 2009 at 8:21 AM, Christopher Wright <dhasenan gmail.com> wrote:> Charles Hixson wrote:Walter says you can do everything here using compile-time reflection. That's true, but it doesn't suffice, I think. You need something like Jascha Wetzel's ClassInfoEx in the standard library. I'd be willing to write such a thing, if it would be accepted. (ClassInfoEx has no license information included in it, and Jascha is not around, so it cannot be used.)
Jascha's not around anymore but I don't think he's dead. The first step would be to try to contact him directly about the license. There's an email address for him here: http://ddbg.mainia.de/releases.html. --bb
Good point. On the other hand, rewriting the functionality would be the work of a few hours, so it's no big deal either way.
Apr 01 2009
On Wed, 01 Apr 2009 17:03:01 +0800, davidl <davidl 126.com> wrote:? Wed, 01 Apr 2009 16:43:57 +0800?Max Samukha <samukha voliacable.com.removethis> ??:On Tue, 31 Mar 2009 22:21:59 -0700, Walter Bright <newshound1 digitalmars.com> wrote:The large volume of bug fixes is because a lot of people contributed patches. Thanks! http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.042.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.027.zip
Great! Does it mean opDot is deprecated?
why not make opDot some compile time stuff? class V { opDot(char[] method, ...) { // runtime lib to figure what the method is, and then call it with vararg! } } this can be particular useful for COM consider: UnknownComponent.itsparticularMethod(34,"adf"); <-- bind every com component is troublesome and waste time. The runtime can use typelib info to give us something useful Also this can help DDL to be further more useful. I don't need to bind my plugin. I just directly call myplugin.mymethod("asdf"); The opdot will eventually resolve the mymethod in the plugin, then call it! I will really enjoy to see this happen.
The name is known at compile time, so it probably should be opDot(string member)(...) { } or even an arbitrary template named opDot that the compiler would try to instantiate with the name as first parameter, for example: c.foo!(whatever)(v); would be rewritten as c.opDot!("foo", whatever)(v);
Apr 01 2009
I've thought of that a couple times, and there was a reason it was a problem, I just can't remember it at the moment!
Apr 01 2009
Walter Bright wrote:I've thought of that a couple times, and there was a reason it was a problem, I just can't remember it at the moment!
For one thing, no polymorphism. For that reason alone I would never use it.
Apr 01 2009
On Wed, 01 Apr 2009 18:34:56 -0400, Christopher Wright <dhasenan gmail.com> wrote:Walter Bright wrote:I've thought of that a couple times, and there was a reason it was a problem, I just can't remember it at the moment!
For one thing, no polymorphism. For that reason alone I would never use it.
It's not such a big problem because you could define a polymorphic opDot yourself: class C { Variant opDot(string name, A)(A args) { return virtualDot(name, args); } Variant virtualDot(string name, ...) {} } class D : C { override Variant virtualDot(string name, ...) {} } There must be reasons other than the lack of polymorphism.
Apr 01 2009
在 Wed, 01 Apr 2009 16:43:57 +0800,Max Samukha <samukha voliacable.com.removethis> 写道:On Tue, 31 Mar 2009 22:21:59 -0700, Walter Bright <newshound1 digitalmars.com> wrote:The large volume of bug fixes is because a lot of people contributed patches. Thanks! http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.042.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.027.zip
Great! Does it mean opDot is deprecated?
why not make opDot some compile time stuff? class V { opDot(char[] method, ...) { // runtime lib to figure what the method is, and then call it with vararg! } } this can be particular useful for COM consider: UnknownComponent.itsparticularMethod(34,"adf"); <-- bind every com component is troublesome and waste time. The runtime can use typelib info to give us something useful Also this can help DDL to be further more useful. I don't need to bind my plugin. I just directly call myplugin.mymethod("asdf"); The opdot will eventually resolve the mymethod in the plugin, then call it! I will really enjoy to see this happen.
Apr 01 2009
Walter Bright Wrote:The large volume of bug fixes is because a lot of people contributed patches. Thanks! http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.042.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.027.zip
Walter, there is still a reference to 'new.h' in dmd 1.042 in 'ph.c'.
Apr 01 2009
naryl wrote:Walter Bright Wrote:The large volume of bug fixes is because a lot of people contributed patches. Thanks! http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.042.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.027.zip
Walter, there is still a reference to 'new.h' in dmd 1.042 in 'ph.c'.
Please file a bug report so it doesn't get lost in the sea of newsgroup traffic. Thanks, Brad
Apr 01 2009
在 Wed, 01 Apr 2009 17:13:45 +0800,Walter Bright <newshound1 digitalmars.com> 写道:Max Samukha wrote:Great! Does it mean opDot is deprecated?
Yes.
I wish opDot be changed to something else like the thing that I proposed in my last reply.
Apr 01 2009
Walter Bright:On Windows, if there are multiple source files on the command line they are now read with a background thread. This may speed up compilation.<
I have tried on Windows, on a 2-core CPU and the CPU usage is about 50% still (only one core used). I have not timed much difference in compilation times (it's 24 modules). Bye, bearophile
Apr 01 2009
bearophile wrote:I have tried on Windows, on a 2-core CPU and the CPU usage is about 50% still (only one core used).
Well, I that's a pure reader thread running in the bg it wouldn't take any cpu time. That's because it's basically just waiting for data transfers from the disk to put them in a queue for the compiler thread.
Apr 01 2009
0ffh wrote:bearophile wrote:I have tried on Windows, on a 2-core CPU and the CPU usage is about 50% still (only one core used).
Well, I that's a pure reader thread running in the bg it wouldn't take any cpu time. That's because it's basically just waiting for data transfers from the disk to put them in a queue for the compiler thread.
Sorry for self-reply. I wonder if the reader also does tokenisation? I suppose it could... but that would probably be quite fast, as well.
Apr 01 2009
bearophile wrote:Walter Bright:On Windows, if there are multiple source files on the command line they are now read with a background thread. This may speed up compilation.
50% still (only one core used). I have not timed much difference in compilation times (it's 24 modules).
It's hard to see an overall difference. To see one, I had to compile off of an SD card connected via USB. You'll also not see it in CPU usage, because the I/O thread will be paused waiting for the disk.
Apr 01 2009
Walter Bright wrote:The large volume of bug fixes is because a lot of people contributed patches. Thanks! http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.042.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.027.zip
...because the file dmd/linux/lib/libphobos2.a is empty. -Lars
Apr 01 2009
Lars Kyllingstad wrote:...because the file dmd/linux/lib/libphobos2.a is empty.
Fixed.
Apr 01 2009
== Quote from Walter Bright (newshound1 digitalmars.com)'s articleThe large volume of bug fixes is because a lot of people contributed patches. Thanks! http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.042.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.027.zip
alias awesome this; // This is awesome. Is it just me though, or does the D2 win32 build crash after successfully building the project? For me it works, but then crashes instead of exiting gracefully. No big deal, though, as this is the Jargon File's definition of a minor detail: http://catb.org/jargon/html/M/minor-detail.html
Apr 01 2009
dsimcha wrote:== Quote from Walter Bright (newshound1 digitalmars.com)'s articleThe large volume of bug fixes is because a lot of people contributed patches. Thanks! http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.042.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.027.zip
alias awesome this; // This is awesome. Is it just me though, or does the D2 win32 build crash after successfully building the project? For me it works, but then crashes instead of exiting gracefully. No big deal, though, as this is the Jargon File's definition of a minor detail: http://catb.org/jargon/html/M/minor-detail.html
Apr 01 2009
== Quote from Don (nospam nospam.com)'s articleIs it just me though, or does the D2 win32 build crash after successfully building the project? For me it works, but then crashes instead of exiting gracefully. No big deal, though, as this is the Jargon File's definition of a minor detail: http://catb.org/jargon/html/M/minor-detail.html
I just tested it on my work machine, and it happens there, too. Maybe it's the new background thread thing? Is your win32 box an old single-core machine?
Apr 01 2009
== Quote from Don (nospam nospam.com)'s articleIt's just you. <g>. The win32 build works fine for me.
Never mind, it looks to be related to some strange options my IDE is passing to DMD.
Apr 01 2009
dsimcha wrote:== Quote from Don (nospam nospam.com)'s articleIt's just you. <g>. The win32 build works fine for me.
Never mind, it looks to be related to some strange options my IDE is passing to DMD.
Just tell it to stop passing -hcf [1]. -- Daniel [1] HCF: Halt and Catch Fire, an old PDP-11 opcode, I believe. :P
Apr 01 2009
On Thu, Apr 2, 2009 at 8:21 AM, Christopher Wright <dhasenan gmail.com> wrote:> Charles Hixson wrote:Walter says you can do everything here using compile-time reflection. That's true, but it doesn't suffice, I think. You need something like Jascha Wetzel's ClassInfoEx in the standard library. I'd be willing to write such a thing, if it would be accepted. (ClassInfoEx has no license information included in it, and Jascha is not around, so it cannot be used.)
Jascha's not around anymore but I don't think he's dead. The first step would be to try to contact him directly about the license. There's an email address for him here: http://ddbg.mainia.de/releases.html. --bb
Apr 01 2009
On Thu, Apr 2, 2009 at 11:28 AM, Christopher Wright <dhasenan gmail.com> wr= ote:Bill Baxter wrote:On Thu, Apr 2, 2009 at 8:21 AM, Christopher Wright <dhasenan gmail.com> wrote:> Charles Hixson wrote:Walter says you can do everything here using compile-time reflection. That's true, but it doesn't suffice, I think. You need something like Jascha Wetzel's ClassInfoEx in the standard library. I'd be willing to write such a thing, if it would be accepted. (ClassInfoEx has no license information included in it, and Jascha is not around, so it cannot be used.)
Jascha's not around anymore but I don't think he's dead. =A0The first step would be to try to contact him directly about the license. There's an email address for him here: http://ddbg.mainia.de/releases.html. --bb
Good point. On the other hand, rewriting the functionality would be the work of a few hours, so it's no big deal either way.
Oh. That's all? In that case stop typing emails and get to work! --bb
Apr 01 2009
Walter Bright wrote:The large volume of bug fixes is because a lot of people contributed patches. Thanks!
Incidentally, should the D pages contain a short description of how you'd prefer patches delivered? Maybe a link next to "Issues & Bugs" in the side box?
Apr 02 2009
Georg Wrede wrote:Walter Bright wrote:The large volume of bug fixes is because a lot of people contributed patches. Thanks!
Incidentally, should the D pages contain a short description of how you'd prefer patches delivered? Maybe a link next to "Issues & Bugs" in the side box?
I hope they're useful <g>.
Apr 02 2009
Georg Wrede wrote:Walter Bright wrote:The large volume of bug fixes is because a lot of people contributed patches. Thanks!
Incidentally, should the D pages contain a short description of how you'd prefer patches delivered? Maybe a link next to "Issues & Bugs" in the side box?
Good idea. They should be delivered via bugzilla.
Apr 02 2009









Walter Bright <newshound1 digitalmars.com> 