January 11, 2012 Biggest Issue with D - Definition and Versioning | ||||
---|---|---|---|---|
| ||||
D1 or D2 both don't have a very accurate definition. C and C++ has several hundred pages of specifications and while I'm hopefully not expecting that, I do want some certainty on what is *supposed* to happen. There is also no versioning. D2 is definitely different from D1 in the case that it's not backwards compatible, but version for the actual example implementation isn't enough, especially when that implementation doesn't always do what it's supposed to do. |
January 11, 2012 Re: Biggest Issue with D - Definition and Versioning | ||||
---|---|---|---|---|
| ||||
Posted in reply to Zachary Lund | On 1/11/2012 12:29 PM, Zachary Lund wrote:
> D1 or D2 both don't have a very accurate definition. C and C++ has several
> hundred pages of specifications and while I'm hopefully not expecting that, I do
> want some certainty on what is *supposed* to happen.
>
> There is also no versioning. D2 is definitely different from D1 in the case that
> it's not backwards compatible, but version for the actual example implementation
> isn't enough, especially when that implementation doesn't always do what it's
> supposed to do.
Please file bug reports for any errors/omissions in the specification on bugzilla.
|
January 12, 2012 Re: Biggest Issue with D - Definition and Versioning | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On 2012-01-11 21:34, Walter Bright wrote: > On 1/11/2012 12:29 PM, Zachary Lund wrote: >> D1 or D2 both don't have a very accurate definition. C and C++ has >> several >> hundred pages of specifications and while I'm hopefully not expecting >> that, I do >> want some certainty on what is *supposed* to happen. >> >> There is also no versioning. D2 is definitely different from D1 in the >> case that >> it's not backwards compatible, but version for the actual example >> implementation >> isn't enough, especially when that implementation doesn't always do >> what it's >> supposed to do. > > Please file bug reports for any errors/omissions in the specification on > bugzilla. That's the whole point. It's not clear what the actual specification IS. Is it DMD, dlang.org or TDPL? -- /Jacob Carlborg |
January 12, 2012 Re: Biggest Issue with D - Definition and Versioning | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | On 1/11/2012 11:16 PM, Jacob Carlborg wrote:
> On 2012-01-11 21:34, Walter Bright wrote:
>> On 1/11/2012 12:29 PM, Zachary Lund wrote:
>>> D1 or D2 both don't have a very accurate definition. C and C++ has
>>> several
>>> hundred pages of specifications and while I'm hopefully not expecting
>>> that, I do
>>> want some certainty on what is *supposed* to happen.
>>>
>>> There is also no versioning. D2 is definitely different from D1 in the
>>> case that
>>> it's not backwards compatible, but version for the actual example
>>> implementation
>>> isn't enough, especially when that implementation doesn't always do
>>> what it's
>>> supposed to do.
>>
>> Please file bug reports for any errors/omissions in the specification on bugzilla.
>
> That's the whole point. It's not clear what the actual specification IS. Is it DMD, dlang.org or TDPL?
The website is the spec. DMD is the reference instantiation of that spec. TDPL is a re-framing of it.
Now, given that none of the three are perfect, discrepancies exist which obviously lead to questions. That's where bugzilla comes in to record and track the queue of issues to resolve among them. Where there's issues, until it's been examined, any of the parties could be at fault.
My 2 cents,
Brad
|
January 12, 2012 Re: Biggest Issue with D - Definition and Versioning | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | I see the TDPL as having the same role as the C++ ARM did. http://www.amazon.de/Annotated-C-Reference-Manual/dp/0201514591 For those that don't know this book, Bjarne and Margaret wrote as an attempt to have the first written specifcation of how CFront behaved and what was expected by C++ compilers. -- Paulo "Jacob Carlborg" wrote in message news:jem1cr$2fco$1@digitalmars.com... On 2012-01-11 21:34, Walter Bright wrote: > On 1/11/2012 12:29 PM, Zachary Lund wrote: >> D1 or D2 both don't have a very accurate definition. C and C++ has >> several >> hundred pages of specifications and while I'm hopefully not expecting >> that, I do >> want some certainty on what is *supposed* to happen. >> >> There is also no versioning. D2 is definitely different from D1 in the >> case that >> it's not backwards compatible, but version for the actual example >> implementation >> isn't enough, especially when that implementation doesn't always do >> what it's >> supposed to do. > > Please file bug reports for any errors/omissions in the specification on > bugzilla. That's the whole point. It's not clear what the actual specification IS. Is it DMD, dlang.org or TDPL? -- /Jacob Carlborg |
January 12, 2012 Re: Biggest Issue with D - Definition and Versioning | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Roberts | On 12-01-2012 08:30, Brad Roberts wrote:
> On 1/11/2012 11:16 PM, Jacob Carlborg wrote:
>> On 2012-01-11 21:34, Walter Bright wrote:
>>> On 1/11/2012 12:29 PM, Zachary Lund wrote:
>>>> D1 or D2 both don't have a very accurate definition. C and C++ has
>>>> several
>>>> hundred pages of specifications and while I'm hopefully not expecting
>>>> that, I do
>>>> want some certainty on what is *supposed* to happen.
>>>>
>>>> There is also no versioning. D2 is definitely different from D1 in the
>>>> case that
>>>> it's not backwards compatible, but version for the actual example
>>>> implementation
>>>> isn't enough, especially when that implementation doesn't always do
>>>> what it's
>>>> supposed to do.
>>>
>>> Please file bug reports for any errors/omissions in the specification on
>>> bugzilla.
>>
>> That's the whole point. It's not clear what the actual specification IS. Is it DMD, dlang.org or TDPL?
>
> The website is the spec. DMD is the reference instantiation of that spec. TDPL is a re-framing of it.
>
> Now, given that none of the three are perfect, discrepancies exist which obviously lead to questions. That's where
> bugzilla comes in to record and track the queue of issues to resolve among them. Where there's issues, until it's been
> examined, any of the parties could be at fault.
>
> My 2 cents,
> Brad
In all honesty, the website can barely be called a spec. Sure, it has grammar and a few notes on semantics, but it's not even close to what people expect from a programming language specification in this day and age (see C, C++, C#, F#, etc specifications). I'd call it a guide at best.
If someone (probably among the DMD developers) was willing to flesh out a clean and complete grammar definition for the language (preferably in the form of one EBNF file, independent of doc format), I'd personally be willing to put in effort to write a spec around it.
- Alex
|
January 12, 2012 Re: Biggest Issue with D - Definition and Versioning | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Roberts | On 2012-01-12 08:30, Brad Roberts wrote: > On 1/11/2012 11:16 PM, Jacob Carlborg wrote: >> On 2012-01-11 21:34, Walter Bright wrote: >>> On 1/11/2012 12:29 PM, Zachary Lund wrote: >>>> D1 or D2 both don't have a very accurate definition. C and C++ has >>>> several >>>> hundred pages of specifications and while I'm hopefully not expecting >>>> that, I do >>>> want some certainty on what is *supposed* to happen. >>>> >>>> There is also no versioning. D2 is definitely different from D1 in the >>>> case that >>>> it's not backwards compatible, but version for the actual example >>>> implementation >>>> isn't enough, especially when that implementation doesn't always do >>>> what it's >>>> supposed to do. >>> >>> Please file bug reports for any errors/omissions in the specification on >>> bugzilla. >> >> That's the whole point. It's not clear what the actual specification IS. Is it DMD, dlang.org or TDPL? > > The website is the spec. DMD is the reference instantiation of that spec. TDPL is a re-framing of it. > > Now, given that none of the three are perfect, discrepancies exist which obviously lead to questions. That's where > bugzilla comes in to record and track the queue of issues to resolve among them. Where there's issues, until it's been > examined, any of the parties could be at fault. > > My 2 cents, > Brad When there is a difference it's hard to know which parts (dlang, dmd, tdpl) are correct and which parts a wrong. -- /Jacob Carlborg |
January 12, 2012 Re: Biggest Issue with D - Definition and Versioning | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | 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.
|
January 12, 2012 Re: Biggest Issue with D - Definition and Versioning | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Roberts | On 1/11/2012 11:30 PM, Brad Roberts wrote:
> The website is the spec. DMD is the reference instantiation of that spec. TDPL is a re-framing of it.
To be fair, TDPL is not meant as a specification. It's meant as an explanation and guide to how to use D effectively.
|
January 12, 2012 Re: Biggest Issue with D - Definition and Versioning | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | 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 |
Copyright © 1999-2021 by the D Language Foundation