digitalmars.D.announce - Presentation at Northwest C++ Users Group
- Walter Bright (4/4) Nov 07 2005 I'll be giving one there on the D programming language, Nov. 16. See you...
- Garett Bass (3/8) Nov 07 2005 I'm sorry I'll miss it. I wish you'd gone in August while I was still i...
- Walter Bright (6/16) Nov 07 2005 Yes.
- Mitja Ursic (5/10) Nov 08 2005 Will there be slides available for download?
- Walter Bright (3/4) Nov 08 2005 I'll make it available on the website concurrently.
- Georg Wrede (4/10) Nov 08 2005 I checked the former speakers, you're definitely in the Larger Than Life...
- Don Clugston (6/11) Nov 08 2005 Let me guess -- Flagship features of C++0x that are already in D ?
- Walter Bright (5/16) Nov 08 2005 all
- Dave (4/8) Nov 17 2005 How'd it go?
- Walter Bright (5/15) Nov 18 2005 all
- Georg Wrede (4/19) Nov 19 2005 Then we feel honoured!
- Fredrik Olsson (4/15) Dec 14 2005 Just a friendly reminder, from someone eagerly waiting :).
-
Walter Bright
(2/6)
Dec 15 2005
I haven't forgotten
. - Bruno Medeiros (7/20) Dec 15 2005 I'm wondering, what is the target(aka aproximate) time length of this
- Walter Bright (2/4) Dec 15 2005 I generally shoot for an hour, with an extra half hour for questions.
- Bruno Medeiros (13/22) Dec 16 2005 Hum, I'm planning on doing a presentation on D too, in my university
- John Demme (3/22) Dec 16 2005 Take a small c++ program that uses multiple inhertiance, and convert it.
- Bruno Medeiros (7/22) Dec 17 2005 That's precisely the example I think is equally (vs. mixins) well solved...
- J C Calvarese (20/28) Dec 16 2005 I don't really have a good grasp of what mixins are all about, but I won...
- Bruno Medeiros (14/38) Dec 17 2005 Yes, the other examples have some good ideias. However, as for this one
- Sean Kelly (5/10) Dec 17 2005 That is incorrect. Though I think templates can not add virtual members...
- John C (5/15) Dec 17 2005 Though the spec says a mixin *can* add virtual functions to a class. Tha...
- Sean Kelly (13/30) Dec 17 2005 I think this might work:
- Dave (6/19) Dec 17 2005 I expanded that example a bit to use inheritance and it looks like the
- Bruno Medeiros (32/54) Dec 19 2005 How did you test that? Because it's not correct, they are not virtual.
- Dave (8/58) Dec 19 2005 You're right about the virtual - I misinterpreted my results.
- Bruno Medeiros (7/80) Dec 20 2005 Hum, you're right, they're not final either, they're just non-virtual.
I'll be giving one there on the D programming language, Nov. 16. See you all there! Northwest C++ Users Group www.nwcpp.org
Nov 07 2005
I'm sorry I'll miss it. I wish you'd gone in August while I was still in Seattle for my internship with Amazon. Are you based in the Seattle area, Walter? "Walter Bright" <newshound digitalmars.com> wrote in message news:dkok21$p6r$1 digitaldaemon.com...I'll be giving one there on the D programming language, Nov. 16. See you all there! Northwest C++ Users Group www.nwcpp.org
Nov 07 2005
Yes. "Garett Bass" <garettbass studiotekne.com> wrote in message news:dkop3h$tvr$1 digitaldaemon.com...I'm sorry I'll miss it. I wish you'd gone in August while I was still inSeattle for my internship with Amazon. Are you based inthe Seattle area, Walter? "Walter Bright" <newshound digitalmars.com> wrote in messagenews:dkok21$p6r$1 digitaldaemon.com...allI'll be giving one there on the D programming language, Nov. 16. See youthere! Northwest C++ Users Group www.nwcpp.org
Nov 07 2005
Will there be slides available for download? On Mon, 07 Nov 2005 23:21:50 +0100, Walter Bright <newshound digitalmars.com> wrote:I'll be giving one there on the D programming language, Nov. 16. See you all there! Northwest C++ Users Group www.nwcpp.org-- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Nov 08 2005
"Mitja Ursic" <mitja_ursic yahoo.com> wrote in message news:op.szw1ohiy6tzao9 mitja...Will there be slides available for download?I'll make it available on the website concurrently.
Nov 08 2005
Walter Bright wrote:I'll be giving one there on the D programming language, Nov. 16. See you all there!I checked the former speakers, you're definitely in the Larger Than Life category!!! Mind mentioning here when the lecture notes appear on their web page?Northwest C++ Users Group www.nwcpp.org
Nov 08 2005
Walter Bright wrote:I'll be giving one there on the D programming language, Nov. 16. See you all there! Northwest C++ Users Group www.nwcpp.orgLet me guess -- Flagship features of C++0x that are already in D ? eg, template typedefs, foreach, gc, C99 compatibility, contracts, static assert, static if, typeof, etc ... and of course 'auto'. Nah. Even if you only do one slide for each one, you'll be there all night. :-)
Nov 08 2005
"Don Clugston" <dac nospam.com.au> wrote in message news:dkq9ic$29is$1 digitaldaemon.com...Walter Bright wrote:allI'll be giving one there on the D programming language, Nov. 16. See youThat's been the problem with my previous presentations, they ran on too long.there! Northwest C++ Users Group www.nwcpp.orgLet me guess -- Flagship features of C++0x that are already in D ? eg, template typedefs, foreach, gc, C99 compatibility, contracts, static assert, static if, typeof, etc ... and of course 'auto'. Nah. Even if you only do one slide for each one, you'll be there all night. :-)
Nov 08 2005
In article <dkok21$p6r$1 digitaldaemon.com>, Walter Bright says...I'll be giving one there on the D programming language, Nov. 16. See you all there! Northwest C++ Users Group www.nwcpp.orgHow'd it go? Is there anything posted to look at? Thanks.
Nov 17 2005
"Dave" <Dave_member pathlink.com> wrote in message news:dliblu$1fsb$1 digitaldaemon.com...In article <dkok21$p6r$1 digitaldaemon.com>, Walter Bright says...allI'll be giving one there on the D programming language, Nov. 16. See youVery well, I think.there! Northwest C++ Users Group www.nwcpp.orgHow'd it go?Is there anything posted to look at?No, because I'm going to redo the slides <g>.
Nov 18 2005
Walter Bright wrote:"Dave" <Dave_member pathlink.com> wrote in message news:dliblu$1fsb$1 digitaldaemon.com...Then we feel honoured! We're getting the edited and polished versions, while the heavy-duty gurus over there got the mere drafts.In article <dkok21$p6r$1 digitaldaemon.com>, Walter Bright says...Very well, I think.I'll be giving one there on the D programming language, Nov. 16. See you all there!How'd it go?Is there anything posted to look at?No, because I'm going to redo the slides <g>.
Nov 19 2005
Walter Bright skrev:"Dave" <Dave_member pathlink.com> wrote in message news:dliblu$1fsb$1 digitaldaemon.com...<snip>In article <dkok21$p6r$1 digitaldaemon.com>, Walter Bright says...I'll be giving one there on the D programming language, Nov. 16. See youJust a friendly reminder, from someone eagerly waiting :). // FredrikIs there anything posted to look at?No, because I'm going to redo the slides <g>.
Dec 14 2005
In article <dnpiau$1c19$1 digitaldaemon.com>, Fredrik Olsson says...Walter Bright skrev:I haven't forgotten <g>.No, because I'm going to redo the slides <g>.Just a friendly reminder, from someone eagerly waiting :).
Dec 15 2005
Walter Bright wrote:In article <dnpiau$1c19$1 digitaldaemon.com>, Fredrik Olsson says...I'm wondering, what is the target(aka aproximate) time length of this presentation? -- Bruno Medeiros - CS/E student "Certain aspects of D are a pathway to many abilities some consider to be... unnatural."Walter Bright skrev:I haven't forgotten <g>.No, because I'm going to redo the slides <g>.Just a friendly reminder, from someone eagerly waiting :).
Dec 15 2005
In article <dnsr64$q35$2 digitaldaemon.com>, Bruno Medeiros says...I'm wondering, what is the target(aka aproximate) time length of this presentation?I generally shoot for an hour, with an extra half hour for questions.
Dec 15 2005
Walter Bright wrote:In article <dnsr64$q35$2 digitaldaemon.com>, Bruno Medeiros says...Hum, I'm planning on doing a presentation on D too, in my university (just a small audience, for a Programming Language Pragmatics course), and it's mostly written already, however, I'm having trouble finding a good example for the mixin feature. That is, a useful and pratical example, that wouldn't be solved as easily by another language feature (for instance, with class composition). Would anyone happen to have such an example? (I'd even settle with one that was not sizeable to a presentation, since I'm also plainly curious) -- Bruno Medeiros - CS/E student "Certain aspects of D are a pathway to many abilities some consider to be... unnatural."I'm wondering, what is the target(aka aproximate) time length of this presentation?I generally shoot for an hour, with an extra half hour for questions.
Dec 16 2005
Take a small c++ program that uses multiple inhertiance, and convert it. ~John Demme Bruno Medeiros wrote:Walter Bright wrote:In article <dnsr64$q35$2 digitaldaemon.com>, Bruno Medeiros says...Hum, I'm planning on doing a presentation on D too, in my university (just a small audience, for a Programming Language Pragmatics course), and it's mostly written already, however, I'm having trouble finding a good example for the mixin feature. That is, a useful and pratical example, that wouldn't be solved as easily by another language feature (for instance, with class composition). Would anyone happen to have such an example? (I'd even settle with one that was not sizeable to a presentation, since I'm also plainly curious)I'm wondering, what is the target(aka aproximate) time length of this presentation?I generally shoot for an hour, with an extra half hour for questions.
Dec 16 2005
John Demme wrote:Bruno Medeiros wrote:That's precisely the example I think is equally (vs. mixins) well solved with objection composition. -- Bruno Medeiros - CS/E student "Certain aspects of D are a pathway to many abilities some consider to be... unnatural."Hum, I'm planning on doing a presentation on D too, in my university (just a small audience, for a Programming Language Pragmatics course), and it's mostly written already, however, I'm having trouble finding a good example for the mixin feature. That is, a useful and pratical example, that wouldn't be solved as easily by another language feature (for instance, with class composition). Would anyone happen to have such an example? (I'd even settle with one that was not sizeable to a presentation, since I'm also plainly curious)Take a small c++ program that uses multiple inhertiance, and convert it. ~John Demme
Dec 17 2005
In article <dnv92a$2mk2$1 digitaldaemon.com>, Bruno Medeiros says... ..snip...Hum, I'm planning on doing a presentation on D too, in my university (just a small audience, for a Programming Language Pragmatics course), and it's mostly written already, however, I'm having trouble finding a good example for the mixin feature. That is, a useful and pratical example, that wouldn't be solved as easily by another language feature (for instance, with class composition). Would anyone happen to have such an example? (I'd even settle with one that was not sizeable to a presentation, since I'm also plainly curious)I don't really have a good grasp of what mixins are all about, but I won't let that stop me from suggesting some links that might be helpful to you. Or not. I'll let you decide. http://trac.dsource.org/projects/tutorials/wiki/InternalTemplatesExample http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D/28267 http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D/29593 also of possible interest: "Mixins vs. Macros" http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D/1473 You could also browse the newsgroup looking for posts that mention mixin, but I don't know how effective that'd be since they were mentioned quite a few times before Walter even added them to D (so any of that example code would've been speculative). Mixins were added in DMD 0.89 (May 17, 2004). Here's an example of a possible search: http://www.google.com/custom?domains=www.digitalmars.com&q=mixin&sa=Search&sitesearch=www.digitalmars.com (I'll apologize in advanced if this is a double-post. The first time I clicked on "Post Message", it kept spinning its wheels and acted like it wasn't going to post.) jcc7
Dec 16 2005
J C Calvarese wrote:In article <dnv92a$2mk2$1 digitaldaemon.com>, Bruno Medeiros says... ...snip...Yes, the other examples have some good ideias. However, as for this one here: http://trac.dsource.org/projects/tutorials/wiki/InternalTemplatesExample Is that not incorrect? The spec clearly states (http://www.digitalmars.com/d/template.html) that "Templates cannot be used to add non-static members" to classes. This is precisely what that example does, and the funny thing is that it compiles and runs ok. I don't see how that can work, unless the compiler is treating the templated method as final. -- Bruno Medeiros - CS/E student "Certain aspects of D are a pathway to many abilities some consider to be... unnatural."Hum, I'm planning on doing a presentation on D too, in my university (just a small audience, for a Programming Language Pragmatics course), and it's mostly written already, however, I'm having trouble finding a good example for the mixin feature. That is, a useful and pratical example, that wouldn't be solved as easily by another language feature (for instance, with class composition). Would anyone happen to have such an example? (I'd even settle with one that was not sizeable to a presentation, since I'm also plainly curious)I don't really have a good grasp of what mixins are all about, but I won't let that stop me from suggesting some links that might be helpful to you. Or not. I'll let you decide. http://trac.dsource.org/projects/tutorials/wiki/InternalTemplatesExample http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D/28267 http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D/29593 also of possible interest: "Mixins vs. Macros" http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D/1473
Dec 17 2005
Bruno Medeiros wrote:Yes, the other examples have some good ideias. However, as for this one here: http://trac.dsource.org/projects/tutorials/wiki/InternalTemplatesExample Is that not incorrect?That is incorrect. Though I think templates can not add virtual members to classes (ie. I believe template methods are implicitly final). Though I have not tested this to be sure. Sean
Dec 17 2005
"Sean Kelly" <sean f4.ca> wrote in message news:do1ig2$1ekh$1 digitaldaemon.com...Bruno Medeiros wrote:Though the spec says a mixin *can* add virtual functions to a class. That said, I recently encountered a problem whereby a class method refused to override the templated version.Yes, the other examples have some good ideias. However, as for this one here: http://trac.dsource.org/projects/tutorials/wiki/InternalTemplatesExample Is that not incorrect?That is incorrect. Though I think templates can not add virtual members to classes (ie. I believe template methods are implicitly final). Though I have not tested this to be sure. Sean
Dec 17 2005
John C wrote:"Sean Kelly" <sean f4.ca> wrote in message news:do1ig2$1ekh$1 digitaldaemon.com...I think this might work: class C { template fn(T) { void fn( T val ) {} } alias fn!(char) charFn; } class D : C { override void charFn() {} } SeanBruno Medeiros wrote:Though the spec says a mixin *can* add virtual functions to a class. That said, I recently encountered a problem whereby a class method refused to override the templated version.Yes, the other examples have some good ideias. However, as for this one here: http://trac.dsource.org/projects/tutorials/wiki/InternalTemplatesExample Is that not incorrect?That is incorrect. Though I think templates can not add virtual members to classes (ie. I believe template methods are implicitly final). Though I have not tested this to be sure. Sean
Dec 17 2005
In article <do113n$135m$1 digitaldaemon.com>, Bruno Medeiros says...Yes, the other examples have some good ideias. However, as for this one here: http://trac.dsource.org/projects/tutorials/wiki/InternalTemplatesExample Is that not incorrect? The spec clearly states (http://www.digitalmars.com/d/template.html) that "Templates cannot be used to add non-static members" to classes. This is precisely what that example does, and the funny thing is that it compiles and runs ok. I don't see how that can work, unless the compiler is treating the templated method as final.I expanded that example a bit to use inheritance and it looks like the documentation is wrong... Not only are the functions non-static and non-final but are (correctly) virtual as well. Walter? - Dave-- Bruno Medeiros - CS/E student "Certain aspects of D are a pathway to many abilities some consider to be... unnatural."
Dec 17 2005
Dave wrote:In article <do113n$135m$1 digitaldaemon.com>, Bruno Medeiros says...How did you test that? Because it's not correct, they are not virtual. First of all, the existance of the inner template declaration and/or inner template instances does not change the size of the class vtable. Second, this test: class FooA { template as() { void func() { writefln("FooA func()"); } } } class FooB : FooA { template as() { void func() { writefln("FooB func()"); } } } int main(char[][] args) { // writefln(FooA.classinfo.vtbl.length); FooA foob = new FooB(); foob.as!().func(); // calls FooA.as!().func() } shows that the templated function is not virtual. It's not possible otherwise. So it's a compiler bug (should give an error unless templated function(s) are declared as final). -- Bruno Medeiros - CS/E student "Certain aspects of D are a pathway to many abilities some consider to be... unnatural."Yes, the other examples have some good ideias. However, as for this one here: http://trac.dsource.org/projects/tutorials/wiki/InternalTemplatesExample Is that not incorrect? The spec clearly states (http://www.digitalmars.com/d/template.html) that "Templates cannot be used to add non-static members" to classes. This is precisely what that example does, and the funny thing is that it compiles and runs ok. I don't see how that can work, unless the compiler is treating the templated method as final.I expanded that example a bit to use inheritance and it looks like the documentation is wrong... Not only are the functions non-static and non-final but are (correctly) virtual as well. Walter? - Dave
Dec 19 2005
In article <do6af9$2nd$1 digitaldaemon.com>, Bruno Medeiros says...Dave wrote:You're right about the virtual - I misinterpreted my results. Declaring them final isn't correct though, because the compiler can't enforce that for the same reason it isn't making them virtual in the first place. In other words, if it could enforce final by checking for overridden functions, then why not make them virtual as well? So it looks like the docs. are correct as-is, *but* the compiler has to change to enforce the use of 'static' for this case.In article <do113n$135m$1 digitaldaemon.com>, Bruno Medeiros says...How did you test that? Because it's not correct, they are not virtual. First of all, the existance of the inner template declaration and/or inner template instances does not change the size of the class vtable. Second, this test: class FooA { template as() { void func() { writefln("FooA func()"); } } } class FooB : FooA { template as() { void func() { writefln("FooB func()"); } } } int main(char[][] args) { // writefln(FooA.classinfo.vtbl.length); FooA foob = new FooB(); foob.as!().func(); // calls FooA.as!().func() } shows that the templated function is not virtual. It's not possible otherwise. So it's a compiler bug (should give an error unless templated function(s) are declared as final).Yes, the other examples have some good ideias. However, as for this one here: http://trac.dsource.org/projects/tutorials/wiki/InternalTemplatesExample Is that not incorrect? The spec clearly states (http://www.digitalmars.com/d/template.html) that "Templates cannot be used to add non-static members" to classes. This is precisely what that example does, and the funny thing is that it compiles and runs ok. I don't see how that can work, unless the compiler is treating the templated method as final.I expanded that example a bit to use inheritance and it looks like the documentation is wrong... Not only are the functions non-static and non-final but are (correctly) virtual as well. Walter? - Dave
Dec 19 2005
Dave wrote:In article <do6af9$2nd$1 digitaldaemon.com>, Bruno Medeiros says...Hum, you're right, they're not final either, they're just non-virtual. (This is the only way to create such "rogue" functions, AFAIK.)Dave wrote:You're right about the virtual - I misinterpreted my results. Declaring them final isn't correct though, because the compiler can't enforce that for the same reason it isn't making them virtual in the first place. In other words, if it could enforce final by checking for overridden functions, then why not make them virtual as well?In article <do113n$135m$1 digitaldaemon.com>, Bruno Medeiros says...How did you test that? Because it's not correct, they are not virtual. First of all, the existance of the inner template declaration and/or inner template instances does not change the size of the class vtable. Second, this test: class FooA { template as() { void func() { writefln("FooA func()"); } } } class FooB : FooA { template as() { void func() { writefln("FooB func()"); } } } int main(char[][] args) { // writefln(FooA.classinfo.vtbl.length); FooA foob = new FooB(); foob.as!().func(); // calls FooA.as!().func() } shows that the templated function is not virtual. It's not possible otherwise. So it's a compiler bug (should give an error unless templated function(s) are declared as final).Yes, the other examples have some good ideias. However, as for this one here: http://trac.dsource.org/projects/tutorials/wiki/InternalTemplatesExample Is that not incorrect? The spec clearly states (http://www.digitalmars.com/d/template.html) that "Templates cannot be used to add non-static members" to classes. This is precisely what that example does, and the funny thing is that it compiles and runs ok. I don't see how that can work, unless the compiler is treating the templated method as final.I expanded that example a bit to use inheritance and it looks like the documentation is wrong... Not only are the functions non-static and non-final but are (correctly) virtual as well. Walter? - DaveSo it looks like the docs. are correct as-is, *but* the compiler has to change to enforce the use of 'static' for this case.-- Bruno Medeiros - CS/E student "Certain aspects of D are a pathway to many abilities some consider to be... unnatural."
Dec 20 2005