Nagging is one way to accomplish change, but it's sure annoying. If you feel the feature is import, you know where to get the source. Give it a shot. Contribution of code is oh so much more valuable than a constant stream of "you should change..."
Repeatedly claiming that Walter ignores 'X' is another way to get a reaction, but it's also very annoying. You're far from the only person to pull this card out. Do you _honestly_ believe he's that narrow minded or are you just trying to get enough of a rise out of such claims that he'll drop what he's doing and focus on your nag-of-the-day? Sigh.. it get's old, fast. Back to lurk mode, Brad On 11/10/2010 6:34 PM, bearophile wrote: > Do you seen anything wrong in this code? It compiles with no errors: > > enum string[5] data = ["green", "magenta", "blue" "red", "yellow"]; > static assert(data[4] == "yellow"); > void main() {} > > > Yet that code asserts. it's an excellent example of why a sloppy > compiler/language sooner or later comes back to bite your ass. > I've recently had another bug caused by automatic joining of adjacent > strings. I think this is the 3rd I have found in my D code. This is enough. > > In C the joining of adjacent strings is sometimes useful, but explicit is > better than implicit, and D has a short and good operator to perform joining > of strings, the ~, and D strings are allowed to span multi-lines. > > C code ported to D that doesn't put a ~ just raises a compile time error > that's easy to understand and fix. So this doesn't change the meaning of C > code, just asks the programmer to improve the code, and the change requires > is fully mechanical. > > The compiler need to be able to perform the joining at compile time, so zero > run-time overhead is present. The result is the same as before, it's just a > syntax change. > > My bug report has more info and a partial patch: > http://d.puremagic.com/issues/show_bug.cgi?id=3827 > > Despite Walter seems to ignore C#, C# is a very well designed language, > polished, and indeed it refuses automatic joining of adjacent strings: > > public class Test { > public static void Main() { > string s = "hello " "world"; > } > } > > That C# code gives the error: > > prog.cs(3,35): error CS1525: Unexpected symbol `world' > Compilation failed: 1 error(s), 0 warnings > > This is one of the about twenty little/tiny changes I am waiting for D. > > So please kill automatic joining of adjacent strings in D with fire. > > Thank you, > bearophile