On 12/01/12 5:54 PM, Walter Bright wrote:
On 1/11/2012 11:16 PM, Jacob Carlborg wrote:
That's the whole point. It's not clear what the actual specification
IS. Is it
DMD, dlang.org or TDPL?


It's the "Language Reference" section on dlang.org.

Yes, but there's differences between the language reference and what DMD implements. Sometimes the language reference is right, sometimes DMD is right. The point is, there's no way for us to know. Only you can decide what is right.

One example off the top of my head (there are many more):

From the Lexical page on dlang.org

q{ @ } // error, @ is not a valid D token

But DMD accepts this.

How do we know who is right and who is wrong? Should DMD reject that, or is the spec wrong?

The problem is exacerbated by the fact that DMD has lots of language bugs, so many people assume that the spec is right and DMD is wrong, but it's often the other way round!

You've said to post bugs, but these don't receive any attention. For example, here's two bugs about the lack of documentation on .stringof, one from 2009 and one from early 2011:

http://d.puremagic.com/issues/show_bug.cgi?id=3007
http://d.puremagic.com/issues/show_bug.cgi?id=5404

Neither of which have received any comments or clarifications.

If things are documented then the community will implement them and the community will write tutorials about them. I suspect the #1 reason for lack of tutorials is because no one knows what D is, except you.

We need a real, up to date, and detailed language specification! Leave the implementation to us.

In fact, in many cases, all we need is a "DMD is right in this case" and we can even do the documentation!

I've already submitted a pull request for the q{ @ } issue above. Can someone please either reject it saying that it is wrong, or accept it so that we can move towards a more complete specification.

https://github.com/D-Programming-Language/d-programming-language.org/pull/27

Reply via email to