Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Derek Parnell
On Mon, 06 Jul 2009 21:29:43 -0700, Walter Bright wrote: Derek Parnell wrote: However, that aside, the syntax you have chosen will have a rational explanation for its superiority. So can you explain in simple terms why CaseLabelInt .. CaseLabelInt eg. case 1: .. case 9: is superior

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Lars T. Kyllingstad
Ary Borenszweig wrote: のしいか (noshiika) escribió: Thank you for the great work, Walter and all the other contributors. But I am a bit disappointed with the CaseRangeStatement syntax. Why is it case 0: .. case 9: instead of case 0 .. 9: With the latter notation, ranges can be easily used

Re: [OT] dmd 1.046 and 2.031 releases

2009-07-07 Thread BCS
Hello Daniel, [1] like me. My girlfriend disagrees with me on this, You have a girlfriend that even bothers to have an opinion on a programming issue, lucky bastard. though. *I* think she's crazy, but I'm not exactly inclined to try and change her mind. :) That reminds me of a quote: If

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Robert Jacques
On Tue, 07 Jul 2009 02:35:44 -0400, Robert Jacques sandf...@jhu.edu wrote: On Tue, 07 Jul 2009 01:48:41 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: Robert Jacques wrote: On Mon, 06 Jul 2009 01:05:10 -0400, Walter Bright newshou...@digitalmars.com wrote: Something

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Robert Jacques wrote: On Tue, 07 Jul 2009 01:48:41 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: Robert Jacques wrote: On Mon, 06 Jul 2009 01:05:10 -0400, Walter Bright newshou...@digitalmars.com wrote: Something for everyone here.

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Brad Roberts
That's really cool. But I don't think that's actually happening (Or are these the bugs you're talking about?): byte x,y; short z; z = x+y; // Error: cannot implicitly convert expression (cast(int)x + cast(int)y) of type int to short // Repeat for ubyte, bool, char, wchar

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Robert Jacques wrote: Another inconsistency: byte[] x,y,z; z[] = x[]*y[]; // Compiles Bugzilla is its name. Andrei

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Brad Roberts wrote: That's really cool. But I don't think that's actually happening (Or are these the bugs you're talking about?): byte x,y; short z; z = x+y; // Error: cannot implicitly convert expression (cast(int)x + cast(int)y) of type int to short // Repeat for ubyte,

Re: [OT] dmd 1.046 and 2.031 releases

2009-07-07 Thread Ary Borenszweig
Andrei Alexandrescu escribió: BCS wrote: Hello Daniel, [1] like me. My girlfriend disagrees with me on this, You have a girlfriend that even bothers to have an opinion on a programming issue, lucky bastard. My understanding is that he's referring to a different issue. though. *I* think

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread KennyTM~
Ary Borenszweig wrote: Jesse Phillips escribió: On Mon, 06 Jul 2009 14:38:53 -0500, Andrei Alexandrescu wrote: Denis Koroskin wrote: Reuse goto? So any case-labeled code should end either with a control flow statement that transfers control elswhere? That sounds like a great idea.

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Don
Walter Bright wrote: Something for everyone here. http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.046.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.031.zip Why is 'final switch' required? Another possible way of

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread bearophile
KennyTM~ Wrote: Maybe http://msdn.microsoft.com/en-us/vcsharp/aa336815.aspx . That compromise design looks good to be adopted by D too :-) Bye, bearophile

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Leandro Lucarella
aarti_pl, el 7 de julio a las 00:27 me escribiste: Leandro Lucarella pisze: Andrei Alexandrescu, el 6 de julio a las 10:44 me escribiste: And what did those people use when they wanted to express a range of case labels? In other words, where did those people turn their heads towards? They

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Leandro Lucarella
Andrei Alexandrescu, el 6 de julio a las 18:32 me escribiste: Leandro Lucarella wrote: Andrei Alexandrescu, el 6 de julio a las 10:44 me escribiste: And what did those people use when they wanted to express a range of case labels? In other words, where did those people turn their heads

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Robert Jacques
On Tue, 07 Jul 2009 03:33:24 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: Robert Jacques wrote: That's really cool. But I don't think that's actually happening (Or are these the bugs you're talking about?): byte x,y; short z; z = x+y; // Error: cannot

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Robert Jacques wrote: On Tue, 07 Jul 2009 03:33:24 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: Robert Jacques wrote: That's really cool. But I don't think that's actually happening (Or are these the bugs you're talking about?): byte x,y; short z; z = x+y; //

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Leandro Lucarella
Andrei Alexandrescu, el 7 de julio a las 00:48 me escribiste: Robert Jacques wrote: On Mon, 06 Jul 2009 01:05:10 -0400, Walter Bright newshou...@digitalmars.com wrote: Something for everyone here. http://www.digitalmars.com/d/1.0/changelog.html

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Jarrett Billingsley
On Tue, Jul 7, 2009 at 11:33 AM, Andrei Alexandrescuseewebsiteforem...@erdani.org wrote: Well 32-bit architectures may be a historical relic but I don't think 32-bit integers are. And I think it would be too disruptive a change to promote results of arithmetic operation between integers to

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Moritz Warning
On Tue, 07 Jul 2009 08:53:49 +0200, Lars T. Kyllingstad wrote: Ary Borenszweig wrote: のしいか (noshiika) escribió: Thank you for the great work, Walter and all the other contributors. But I am a bit disappointed with the CaseRangeStatement syntax. Why is it case 0: .. case 9: instead of

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Robert Jacques
On Tue, 07 Jul 2009 11:36:26 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: Robert Jacques wrote: Andrei, I have a short vector template (think vec!(byte,3), etc) where I've had to wrap the majority lines of code in cast(T)( ... ), because I support bytes and shorts. I

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Jérôme M. Berger
Andrei Alexandrescu wrote: Derek Parnell wrote: It seems that D would benefit from having a standard syntax format for expressing various range sets; a. Include begin Include end, i.e. [] b. Include begin Exclude end, i.e. [) c. Exclude begin Include end, i.e. (] d. Exclude begin Exclude

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Derek Parnell wrote: It seems that D would benefit from having a standard syntax format for expressing various range sets; a. Include begin Include end, i.e. [] b. Include begin Exclude end, i.e. [) c. Exclude begin Include end, i.e. (] d.

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Jérôme M. Berger
Robert Jacques wrote: On Tue, 07 Jul 2009 03:33:24 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: Robert Jacques wrote: BTW: this means byte and short are not closed under arithmetic operations, which drastically limit their usefulness. I think they shouldn't be closed

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread bearophile
Andrei Alexandrescu: Safe D is concerned with memory safety only. And hopefully you will understand that is wrong :-) Bye, bearophile

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread bearophile
Andrei Alexandrescu: I think Walter's message really rendered the whole discussion moot. Post of the year: = I like: a .. b+1 to mean inclusive range. That was my preferred solution, starting from months ago. Bye, bearophile

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Bill Baxter wrote: 2009/7/7 Andrei Alexandrescu seewebsiteforem...@erdani.org: I think Walter's message really rendered the whole discussion moot. Post of the year: = I like: a .. b+1 to mean inclusive range. = Not everything is an integer.

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Leandro Lucarella
Andrei Alexandrescu, el 7 de julio a las 13:18 me escribiste: Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Derek Parnell wrote: It seems that D would benefit from having a standard syntax format for expressing various range sets; a. Include begin Include end, i.e. [] b. Include

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Walter Bright
Andrei Alexandrescu wrote: Bill Baxter wrote: 2009/7/7 Andrei Alexandrescu seewebsiteforem...@erdani.org: I think Walter's message really rendered the whole discussion moot. Post of the year: = I like: a .. b+1 to mean inclusive range. =

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Jérôme M. Berger
Andrei Alexandrescu wrote: Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Derek Parnell wrote: It seems that D would benefit from having a standard syntax format for expressing

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Nick Sabalausky
Andrei Alexandrescu seewebsiteforem...@erdani.org wrote in message news:h2vprn$1t7...@digitalmars.com... This is a different beast. We simply couldn't devise a satisfactory scheme within the constraints we have. No simple solution we could think of has worked, nor have a number of

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Jérôme M. Berger wrote: - A floating point range should allow you to specify the iteration step, or else it should allow you to iterate through all numbers that can be represented with the corresponding precision; We don't have that, so you'd need to use a straigh for statement. - The

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Nick Sabalausky wrote: Andrei Alexandrescu seewebsiteforem...@erdani.org wrote in message news:h2vprn$1t7...@digitalmars.com... This is a different beast. We simply couldn't devise a satisfactory scheme within the constraints we have. No simple solution we could think of has worked, nor have a

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Leandro Lucarella
Andrei Alexandrescu, el 7 de julio a las 10:56 me escribiste: Leandro Lucarella wrote: This seems nice. I think it would be nice if this kind of things are commented in the NG before a compiler release, to allow community input and discussion. Yup, that's what happened to case :o). I

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
bearophile wrote: Andrei Alexandrescu: How often did you encounter that issue? Please, let's be serious, and let's stop adding special cases to D, or they will kill the language. Don't get me going about what could kill the language. Lately I have seen too many special cases. For example

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Jérôme M. Berger
Andrei Alexandrescu wrote: Jérôme M. Berger wrote: - A floating point range should allow you to specify the iteration step, or else it should allow you to iterate through all numbers that can be represented with the corresponding precision; We don't have that, so you'd need to use a straigh

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Leandro Lucarella wrote: Andrei Alexandrescu, el 7 de julio a las 10:56 me escribiste: Leandro Lucarella wrote: This seems nice. I think it would be nice if this kind of things are commented in the NG before a compiler release, to allow community input and discussion. Yup, that's what

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Jérôme M. Berger wrote: - A floating point range should allow you to specify the iteration step, or else it should allow you to iterate through all numbers that can be represented with the corresponding precision; We don't have that, so

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Jérôme M. Berger
Walter Bright wrote: Andrei Alexandrescu wrote: Bill Baxter wrote: 2009/7/7 Andrei Alexandrescu seewebsiteforem...@erdani.org: I think Walter's message really rendered the whole discussion moot. Post of the year: = I like: a .. b+1 to mean inclusive range.

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Robert Jacques
On Tue, 07 Jul 2009 14:16:14 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: Robert Jacques wrote: On Tue, 07 Jul 2009 11:36:26 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: Robert Jacques wrote: Andrei, I have a short vector template (think vec!(byte,3),

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Leandro Lucarella
Andrei Alexandrescu, el 7 de julio a las 15:12 me escribiste: Leandro Lucarella wrote: Andrei Alexandrescu, el 7 de julio a las 10:56 me escribiste: Leandro Lucarella wrote: This seems nice. I think it would be nice if this kind of things are commented in the NG before a compiler release,

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Derek Parnell
On Tue, 07 Jul 2009 20:13:45 +0200, Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Derek Parnell wrote: It seems that D would benefit from having a standard syntax format for expressing various range sets; a. Include begin Include end, i.e. [] b. Include begin Exclude end, i.e. [)

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Derek Parnell
On Tue, 07 Jul 2009 14:05:33 -0400, Robert Jacques wrote: Well, how often does everyone else use bytes? Cryptography, in my case. -- Derek Parnell Melbourne, Australia skype: derek.j.parnell

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Robert Jacques
On Tue, 07 Jul 2009 18:05:26 -0400, Derek Parnell de...@psych.ward wrote: On Tue, 07 Jul 2009 14:05:33 -0400, Robert Jacques wrote: Well, how often does everyone else use bytes? Cryptography, in my case. Cool. If you don't mind, what's you're take new rules? (As different use cases

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Derek Parnell
On Tue, 07 Jul 2009 13:16:14 -0500, Andrei Alexandrescu wrote: Safe D is concerned with memory safety only. That's a pity. Maybe it should be renamed to Partially-Safe D, or Safe-ish D, Memory-Safe D, or ... well you get the point. Could be misleading for the great unwashed. -- Derek

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Derek Parnell
On Tue, 07 Jul 2009 21:20:42 +0200, Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Derek Parnell wrote: It seems that D would benefit from having a standard syntax format for

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Walter Bright
Andrei Alexandrescu wrote: Nick Sabalausky wrote: I assume then that you've looked at something lke C#'s checked/unchecked scheme and someone's (I forget who) idea of expanding that to something like unchecked(overflow, sign)? What was wrong with those sorts of things? An unchecked-based

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Walter Bright
Robert Jacques wrote: The new rules are definitely an improvement over C, but they make byte/ubyte/short/ushort second class citizens, because practically every assignment requires a cast: byte a,b,c; c = cast(byte) a + b; They've always been second class citizens, as their types keep

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Nick Sabalausky
bearophile bearophileh...@lycos.com wrote in message news:h3093m$2mu...@digitalmars.com... Before adding a feature X let's discuss them, ... If not enough people like a solution then let's not add it. Something like that was attempted once before. Andrei didn't like what we had to say, got

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Nick Sabalausky
Andrei Alexandrescu seewebsiteforem...@erdani.org wrote in message news:h30907$2lk...@digitalmars.com... Nick Sabalausky wrote: Andrei Alexandrescu seewebsiteforem...@erdani.org wrote in message news:h2vprn$1t7...@digitalmars.com... This is a different beast. We simply couldn't devise a

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Nick Sabalausky wrote: Andrei Alexandrescu seewebsiteforem...@erdani.org wrote in message news:h30907$2lk...@digitalmars.com... Nick Sabalausky wrote: Andrei Alexandrescu seewebsiteforem...@erdani.org wrote in message news:h2vprn$1t7...@digitalmars.com... This is a different beast. We simply

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Nick Sabalausky wrote: bearophile bearophileh...@lycos.com wrote in message news:h3093m$2mu...@digitalmars.com... Before adding a feature X let's discuss them, ... If not enough people like a solution then let's not add it. Something like that was attempted once before. Andrei didn't like

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Derek Parnell wrote: Here is where I propose having a signal to the compiler about which specific variables I'm worried about, and if I code an assignment to one of these that can potentially overflow, then the compiler must issue a message. You can implement that as a library. In fact I

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Robert Jacques
On Tue, 07 Jul 2009 20:48:50 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: Robert Jacques wrote: long g; g = e + f; = d = cast(long) e + cast(long) f; Works today. Wrong. I just tested this and what happens today is: g = cast(long)(e+f); And this is (I think) correct

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Walter Bright
Andrei Alexandrescu wrote: You can implement that as a library. In fact I wanted to do it for Phobos for a long time. I've discussed it in this group too (to an unusual consensus), but I forgot the thread's title and stupid Thunderbird download 500 headers at a time forever even long after

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Derek Parnell
On Tue, 07 Jul 2009 18:26:36 -0700, Walter Bright wrote: All the messages from the dawn of time are online and available at http://www.digitalmars.com/d/archives/digitalmars/D/ and are searchable from the search box in the upper left. Okaaayy ... I see that this (checking for integer

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Lionello Lunesu
Walter Bright newshou...@digitalmars.com wrote in message news:h2s0me$30f...@digitalmars.com... Something for everyone here. http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.046.zip http://www.digitalmars.com/d/2.0/changelog.html

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Robert Jacques
On Tue, 07 Jul 2009 21:05:45 -0400, Walter Bright newshou...@digitalmars.com wrote: Andrei Alexandrescu wrote: Robert Jacques wrote: long g; g = e + f; = d = cast(long) e + cast(long) f; Works today. Wrong. I just tested this and what happens today is: g = cast(long)(e+f); And this is

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Walter Bright
Thanks.

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Robert Jacques
On Tue, 07 Jul 2009 23:01:58 -0400, Walter Bright newshou...@digitalmars.com wrote: Robert Jacques wrote: (Caveat: most 32-bit compilers probably defaulted integer to int, though 64-bit compilers are probably defaulting integer to long.) All 32 bit C compilers defaulted int to 32 bits. 64

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Walter Bright
Robert Jacques wrote: On Tue, 07 Jul 2009 23:01:58 -0400, Walter Bright newshou...@digitalmars.com wrote: Robert Jacques wrote: (Caveat: most 32-bit compilers probably defaulted integer to int, though 64-bit compilers are probably defaulting integer to long.) All 32 bit C compilers defaulted