What can the community do to help D?

Denis Koroskin 2korden at gmail.com
Sat Oct 23 14:16:08 PDT 2010


On Sun, 24 Oct 2010 01:06:02 +0400, Peter Alexander  
<peter.alexander.au at gmail.com> wrote:

> On 23/10/10 7:30 PM, Walter Bright wrote:
>> Peter Alexander wrote:
>>> There have been threads about what the biggest issues with D are, and
>>> about the top priorities for D are, but I don't think there has been a
>>> thread about what the best things are that the community can do to
>>> help D.
>>
>> Some things are (pick one that interests you):
>>
>> Go through bugzilla and submit patches for bugs
>>
>> Contribute to the GDC and LDC projects
>
> These two a very difficult without a complete language spec. I just had  
> a look through a bunch of bugs and I couldn't even tell if they are bugs  
> or not because there's no spec to tell me.
>
> For example, a recent bug regards the validity of:
>
> void main()
> {
>    { static int x; }
>    { static int x; }
> }
>
> It produces a linker error just now, but I don't know if that's correct  
> behavior or not. The D website makes no mention of the correct behavior  
> and TDPL doesn't go into that much detail either.
>
> In fact, I don't think the website mentions static function scope  
> variables at all (though TDPL does).
>
> Even veteran D coders are confused about what's supposed to work and  
> what's not:  
> http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.D&artnum=120112
>
> I don't mean to be negative, but it would really help the language if  
> there was a complete spec. Until there is, people will be reluctant to  
> fix bugs, nobody is going to attempt to write another compiler, and  
> certainly no one can write better documentation if they don't know how  
> things work.
>

FWIW, similar problem exists:

class Foo
{
     void foo1()
     {
         struct Bar {}
     }

     void foo2()
     {
         struct Bar { /* different set of fields and methods */ }
         // using Foo.foo2.Bar here
         // bang! linker errors
     }
}


More information about the Digitalmars-d mailing list