Re: Removing the "int foo[];" syntax
On Wednesday, May 01, 2013 00:36:43 Brian Schott wrote: > It complicates the grammar and doesn't fit with D's style of > declaraing variables. (type then identifier) I realize that it > was left in to make C programmers happy, but it doesn't even work > like it does in C: > > int a[10]; > int b[10], b[10]; > int[10] c, d; > int e[string]; > int f[string], g[string]; > > test.d(2): Error: multiple declarations must have the same type, > not int[10] and int[10] > test.d(5): Error: multiple declarations must have the same type, > not int[string] and int[string] I think that deprecating the C-style syntax has been considered in the past, but I don't know what Andrei or Walter's stance on it is. I don't think that it adds much value though beyond making it slightly easier to port code from C to D, and I'm all for removing it. Most D programmers are probably using the D syntax anyway. - Jonathan M Davis
Re: Removing the "int foo[];" syntax
On Thursday, 2 May 2013 at 08:18:48 UTC, Dicebot wrote: On Tuesday, 30 April 2013 at 22:36:44 UTC, Brian Schott wrote: I realize that it was left in to make C programmers happy I remember being mentioned by someone that it is more about simplifying porting of C headers to D than actually making C programmers happy. Array are value type in D so I'm not sure this really helps.
Re: Removing the "int foo[];" syntax
On Tuesday, 30 April 2013 at 22:36:44 UTC, Brian Schott wrote: I realize that it was left in to make C programmers happy I remember being mentioned by someone that it is more about simplifying porting of C headers to D than actually making C programmers happy.
Re: Removing the "int foo[];" syntax
On Tuesday, 30 April 2013 at 22:36:44 UTC, Brian Schott wrote: I realize that it was left in to make C programmers happy I remember being mentioned by someone that it is more about simplifying porting of C headers to D than actually making C programmers happy.
Re: Removing the "int foo[];" syntax
Brian Schott: It complicates the grammar and doesn't fit with D's style of declaraing variables. (type then identifier) I suggested something more moderate: to just disallow mixing C and D syntax in the same declaration: http://d.puremagic.com/issues/show_bug.cgi?id=5807 I realize that it was left in to make C programmers happy, For that I suggested a -cstyle switch, to be used only temporarily to port C code to D: http://d.puremagic.com/issues/show_bug.cgi?id=4580 Bye, bearophile
Re: Removing the "int foo[];" syntax
On 2013-05-01 00:36, Brian Schott wrote: It complicates the grammar and doesn't fit with D's style of declaraing variables. (type then identifier) I realize that it was left in to make C programmers happy, but it doesn't even work like it does in C: int a[10]; int b[10], b[10]; int[10] c, d; int e[string]; int f[string], g[string]; test.d(2): Error: multiple declarations must have the same type, not int[10] and int[10] test.d(5): Error: multiple declarations must have the same type, not int[string] and int[string] I would say no if it was removed. -- /Jacob Carlborg
Removing the "int foo[];" syntax
It complicates the grammar and doesn't fit with D's style of declaraing variables. (type then identifier) I realize that it was left in to make C programmers happy, but it doesn't even work like it does in C: int a[10]; int b[10], b[10]; int[10] c, d; int e[string]; int f[string], g[string]; test.d(2): Error: multiple declarations must have the same type, not int[10] and int[10] test.d(5): Error: multiple declarations must have the same type, not int[string] and int[string]