November 15, 2006 Re: DMD 0.174 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Nice work! It's good to see the old cruft being cleaned out, and the vararg templates are finally pretty usable :-) Sean |
November 15, 2006 Re: DMD 0.174 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Stewart Gordon | Stewart Gordon wrote: > Good work on the whole. However, I'm puzzled by a few issues: > > 1. At first sight it appears to bear little resemblance to my rewrite. OK, so it implements the distinction between things that introduce a new scope and things that don't, and on closer examination you've taken into account some of the other issues I've raised. But what's happened to the issue of where a DeclarationStatement or ScopeGuardStatement (fka ScopeStatement) should be legal? > > Moving DeclarationStatement and ScopeGuardStatement from NonEmptyStatement into Statement, NoScopeNonEmptyStatement and NoScopeStatement would achieve the same as my version in this respect. What I did was carefully go through the parse code, and adjust the grammar to exactly match it. So while we can argue about what it should be, at least for the moment it matches what the compiler actually does. > 2. You haven't done the necessary updates to > > http://www.digitalmars.com/d/version.html I know, lazy me <g>. > 3. You've added > > ; > > as a Statement form. You still haven't told us what the language gains by having it. OK, so having it in NoScopeStatement simplifies specifying PragmaStatement and LabeledStatement, which are the only things that use it, but in Statement it appears to serve no purpose. It can also appear in case statements and default statements. > 4. Why do ForStatement and ForeachStatement now take a NoScopeNonEmptyStatement as body, rather than a ScopeStatement? The scope is created by the for initialization, not the body. |
November 15, 2006 Re: DMD 0.174 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kirk McDonald | Kirk McDonald wrote:
> You know what's awesome? This works now:
> http://paste.dprogramming.com/dpbaqugv.php
>
> That code is a sort of rough breakdown of how Pyd's function wrapping support works. It's actually /understandable/ now.
Some chapters of "Modern C++ Design" now shrink to a single page!
|
November 15, 2006 Re: DMD 0.174 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Walter Bright wrote: > Much improved tuple support. > > New 'scope' attribute for RAII objects. 'auto' still works the same, but will not for much longer. Use 'auto' for type inference. > > http://www.digitalmars.com/d/changelog.html > > http://ftp.digitalmars.com/dmd.174.zip And The Bright One did look down upon his Creation after many days and saw that all was Not Right, for though he had been clear of mind and spirit during the Creation, it had changed and must be fixed. Thus did he come down amongst the people living within his Creation, and listened to their cries and the Wailing and Gnashing of Teeth, and did come upon the means with which to return to the purity of his Vision. And then as ascending once more to his place in the heavens, he did say "Let it be so." And with much satisfaction did he see the peoples rejoice, and the world become that much more ordered. -- Book of D, chapter 11 verse 15. Although, come to think of it, this probably applies to most D releases. Hope you're getting frequent flyer points for all this ascending/descending :P Incidentally, I don't suppose we've got a large enough body of pseudo-religious text to make a parody of The Book of Mozilla, do we? :P -- Daniel -- Unlike Knuth, I have neither proven or tried the above; it may not even make sense. v2sw5+8Yhw5ln4+5pr6OFPma8u6+7Lw4Tm6+7l6+7D i28a2Xs3MSr2e4/6+7t4TNSMb6HTOp5en5g6RAHCP http://hackerkey.com/ |
November 15, 2006 Re: DMD 0.174 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kirk McDonald | "Kirk McDonald" <kirklin.mcdonald@gmail.com> wrote in message news:ejdvqp$pnk$1@digitaldaemon.com... > You know what's awesome? This works now: http://paste.dprogramming.com/dpbaqugv.php > > That code is a sort of rough breakdown of how Pyd's function wrapping support works. It's actually /understandable/ now. Oh. My. I am so excited about what I'll be able to do with MiniD's binding lib now. |
November 15, 2006 Re: DMD 0.174 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | "Walter Bright" <newshound@digitalmars.com> wrote in message news:ejdj7u$da3$1@digitaldaemon.com... > Much improved tuple support. > > New 'scope' attribute for RAII objects. 'auto' still works the same, but will not for much longer. Use 'auto' for type inference. > > http://www.digitalmars.com/d/changelog.html > > http://ftp.digitalmars.com/dmd.174.zip What a great release. Thank you so much. On a side note, this marks my 100th D update since I found D at 0.74! |
November 15, 2006 Re: DMD 0.174 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Daniel Keep | Daniel Keep wrote:
> Walter Bright wrote:
>> Much improved tuple support.
>>
>> New 'scope' attribute for RAII objects. 'auto' still works the same, but
>> will not for much longer. Use 'auto' for type inference.
>>
>> http://www.digitalmars.com/d/changelog.html
>>
>> http://ftp.digitalmars.com/dmd.174.zip
>
> And The Bright One did look down upon his Creation after many days and
> saw that all was Not Right, for though he had been clear of mind and
> spirit during the Creation, it had changed and must be fixed.
> Thus did he come down amongst the people living within his Creation,
> and listened to their cries and the Wailing and Gnashing of Teeth, and
> did come upon the means with which to return to the purity of his Vision.
> And then as ascending once more to his place in the heavens, he did
> say "Let it be so." And with much satisfaction did he see the peoples
> rejoice, and the world become that much more ordered.
>
> -- Book of D, chapter 11 verse 15.
>
> Although, come to think of it, this probably applies to most D releases.
> Hope you're getting frequent flyer points for all this
> ascending/descending :P
>
> Incidentally, I don't suppose we've got a large enough body of
> pseudo-religious text to make a parody of The Book of Mozilla, do we? :P
>
> -- Daniel
>
I LOL'd.
|
November 15, 2006 Re: DMD 0.174 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Walter Bright wrote:
> Much improved tuple support.
>
> New 'scope' attribute for RAII objects. 'auto' still works the same, but will not for much longer. Use 'auto' for type inference.
>
> http://www.digitalmars.com/d/changelog.html
>
> http://ftp.digitalmars.com/dmd.174.zip
Very cool. Can't wait to play with it some more!
--bb
|
November 15, 2006 Re: DMD 0.174 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Walter Bright wrote:
> Much improved tuple support.
>
> New 'scope' attribute for RAII objects. 'auto' still works the same, but will not for much longer. Use 'auto' for type inference.
>
> http://www.digitalmars.com/d/changelog.html
>
> http://ftp.digitalmars.com/dmd.174.zip
Awesome!
I'm really glad you decided to use a seperate keywords for RAII storage and permitting type inference. You also had a different idea of how it should be done, but listened to the community and apparently decided otherwise. You're the man Walter!
The other things in the patch look really cool too (syntax cleanup... and I'm eyeballing that .funcptr).
Just one little inconsistancy I noticed when running the new compiler:
void main()
{
Foo bar = new Foo();
}
scope class Foo
{
int memberA;
}
Produces the following error message when compiled:
main.d(5): variable main.main.bar reference to auto class must be auto
... yet "auto" is no longer the canonical word for raii.
Thank you!
|
November 15, 2006 Re: DMD 0.174 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jarrett Billingsley | "Jarrett Billingsley" <kb3ctd2@yahoo.com> wrote in message news:eje966$1184$1@digitaldaemon.com... > "Walter Bright" <newshound@digitalmars.com> wrote in message news:ejdj7u$da3$1@digitaldaemon.com... >> Much improved tuple support. >> >> New 'scope' attribute for RAII objects. 'auto' still works the same, but will not for much longer. Use 'auto' for type inference. >> >> http://www.digitalmars.com/d/changelog.html >> >> http://ftp.digitalmars.com/dmd.174.zip A few questions: 1) For the delegate .funcptr property, would it be possible for it to include the context pointer as the first parameter? Currently the .funcptr allows us to get the type / call signature of the delegate but it's not possible to actually use the resulting function as there is no way to pass it the context short of dipping into ASM.. 2) The class/struct .tupleof property is cool, but is there any way to get at the names of the corresponding fields? Additionally, what would _really_ rock my socks would be a way to get the tuple of the class/struct _methods_. That would probably immediately make many kinds of reflection possible from within the language. Indexing tuples rules, btw. |
Copyright © 1999-2021 by the D Language Foundation