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