
Hi All, I'll be giving two talks at SD West in March, one about template metaprogramming, and another called "Inside the Boost Libraries," where I plan to discuss some of the more interesting Boost internals. You can see a synopsis at http://www.cmpevents.com/SDw5/a.asp?option=G&V=3&id=271893 I'm trying to decide exactly what to cover there. I've listed some of my ideas below, but I'm obviously not familiar with the entire Boost codebase, so I thought I'd solicit suggestions. Thoughts, anyone? My ideas: * Discuss the design of shared_ptr/weak_ptr. While not exactly an implementation technique, the design is fiendishly clever and worth exploring. * The use of template-generated polymorphism in Boost.Function to combat virtual function bloat * The way that Boost.MPL uses partial specialization on template template parameters to peel apart lambda expressions and turn them into metafunction classes. * Something Boost.Python does to avoid doing dynamic lookup of argument converters based on parameter types for each wrapped call. * Something Boost.Python does to dynamically build a chain of exception handlers. * ... your ideas here ... :) -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

On 01/06/2005 02:29 PM, David Abrahams wrote:
* ... your ideas here ... :)
I've had some trouble understanding how placeholders and lambda expressions work. Specifically, I've wondered why, when a template is instantiated with _1, _2, ..., that the instantiation doesn't produce some sort of error messages. For instance, if the template requires one of its arguments to satisfy some requirement, then how could _1 or _2 satisfy such a requirement since they couldn't know about it? Then I'm wondering about the complexity when the lambda is applied to an argument. Wouldn't each _1 have to be replaced by the actual argument, and wouldn't this require somehow parsing the template expression? I'm thinking I'll have to experiment to see how it's done. I have looked a little at the code but I can't figure it out yet. Maybe you're audience, if they're similarly curious, would like to have those questions answered.

Larry Evans wrote:
On 01/06/2005 02:29 PM, David Abrahams wrote:
* ... your ideas here ... :)
I've had some trouble understanding how placeholders and lambda expressions work. Specifically, I've wondered why, when a template is instantiated with _1, _2, ..., that the instantiation doesn't produce some sort of error messages.
Forming a lambda expression doesn't cause the component templates to be instantiated (on a conforming compiler).
For instance, if the template requires one of its arguments to satisfy some requirement, then how could _1 or _2 satisfy such a requirement since they couldn't know about it? Then I'm wondering about the complexity when the lambda is applied to an argument. Wouldn't each _1 have to be replaced by the actual argument, and wouldn't this require somehow parsing the template expression?
Yes, that's what Dave was talking about in his original message. In theory the implementation is not difficult; the hard part was thinking of it in the first place, and then getting it to work on a bunch of broken compilers. Jonathan

Christopher D. Russell wrote:
* ... your ideas here ... :)
A brief mention / survey of the BGL. Specifically its use of Boost.Concept.
Is that consistent with the abstract for the talk? What you're describing doesn't seem to be about implementation techniques. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

My reasoning was that the BGL does leverage the concept library in its implementation, and this technique seems like a reasonable way to structure complex C++ libraries that might be usefully applied by your audience in their own projects. My suggestion of a brief survey / mention of the BGL was only to provide some context for discussion of this technique. Not to suggest that you survey it's API, usage modes, etc. But perhaps you're right and my suggestion is not appropriate. - Chris "David Abrahams" <dave@boost-consulting.com> wrote in message news:crmeck$qnm$1@sea.gmane.org...
Christopher D. Russell wrote:
* ... your ideas here ... :)
A brief mention / survey of the BGL. Specifically its use of Boost.Concept.
Is that consistent with the abstract for the talk? What you're describing doesn't seem to be about implementation techniques.
-- Dave Abrahams Boost Consulting http://www.boost-consulting.com
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Christopher D. Russell wrote:
My reasoning was that the BGL does leverage the concept library in its implementation, and this technique seems like a reasonable way to structure complex C++ libraries that might be usefully applied by your audience in their own projects. My suggestion of a brief survey / mention of the BGL was only to provide some context for discussion of this technique. Not to suggest that you survey it's API, usage modes, etc. But perhaps you're right and my suggestion is not appropriate.
Well, concept checking *is* something that even advanced C++ programmers could stand to do more of. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

David Abrahams <dave <at> boost-consulting.com> writes:
Hi All,
I'll be giving two talks at SD West in March, one about template metaprogramming, and another called "Inside the Boost Libraries," where I plan to discuss some of the more interesting Boost internals. You can see a synopsis at http://www.cmpevents.com/SDw5/a.asp?option=G&V=3&id=271893
I'm sure this is going to be an excellent and very interesting talk! Please, please, please give this talk at ACCU 2005 as well!!!! /Wilmer

Wilmer Pitt wrote:
David Abrahams <dave <at> boost-consulting.com> writes:
Hi All,
I'll be giving two talks at SD West in March, one about template metaprogramming, and another called "Inside the Boost Libraries," where I plan to discuss some of the more interesting Boost internals. You can see a synopsis at http://www.cmpevents.com/SDw5/a.asp?option=G&V=3&id=271893
I'm sure this is going to be an excellent and very interesting talk! Please, please, please give this talk at ACCU 2005 as well!!!!
I'm already giving the metaprogramming talk and another on rvalue references at ACCU. Giving presentations can take a lot of energy! Besides, I think the schedule is full already. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

I'm sure this is going to be an excellent and very interesting talk! Please, please, please give this talk at ACCU 2005 as well!!!!
I'm already giving the metaprogramming talk and another on rvalue references at ACCU. I know you are attending ACCU 2005, that is why I asked, or begged you to hold
David Abrahams <dave <at> boost-consulting.com> writes: the so exciting "inside the Boost libraries" / "Boost under the hood" talk! And I can guess that you are more than busy but...
Giving presentations can take a lot of energy! ... I'll buy you a beer afterwards :-)
Besides, I think the schedule is full already. I'm sure they would be very interested in this talk and therefore could fit the talk into the programme! Francis/Julie?
/Wilmer

Heya David, Would it be possible to get your talks recorded? Perhaps something like what Doug Kaye is doing with IT Conversations? http://www.itconversations.com/ I'd prefer, of course, to come watch your presentation but Australia is just a little remote sometimes... ;) As for the topics, I think your original suggestions sound great. Cheers, Matt

On Sat, 08 Jan 2005 18:51:21 +1100, Matt S Trentini <matt_trentini@yahoo.com.au> wrote:
Would it be possible to get your talks recorded? Perhaps something like what Doug Kaye is doing with IT Conversations?
I'd love to hear a "Podcast" of these talks as well. Is this feasible? -- Caleb Epstein caleb dot epstein at gmail dot com

Caleb Epstein wrote:
On Sat, 08 Jan 2005 18:51:21 +1100, Matt S Trentini <matt_trentini@yahoo.com.au> wrote:
Would it be possible to get your talks recorded? Perhaps something like what Doug Kaye is doing with IT Conversations?
I'd love to hear a "Podcast" of these talks as well. Is this feasible?
What's a podcast? -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

On Mon, 10 Jan 2005 09:39:46 -0500, David Abrahams <dave@boost-consulting.com> wrote:
Caleb Epstein wrote:
On Sat, 08 Jan 2005 18:51:21 +1100, Matt S Trentini <matt_trentini@yahoo.com.au> wrote:
Would it be possible to get your talks recorded? Perhaps something like what Doug Kaye is doing with IT Conversations?
I'd love to hear a "Podcast" of these talks as well. Is this feasible?
What's a podcast?
Well, "Podcast" is probably a bit of a loaded term to use here, but a downloadable MP3 of these talks is all that I'm fishing for. "Podcasting" (or at least the client side of it) makes use of an RSS aggregator that downloads MP3s and can load them directly into playlists in iTunes (and thereby your iPod). See http://ipodder.org/whatIsPodcasting for some more explanation, but its basically the combination of MP3 + RSS 2.0 w/enclosures on the publish side of things. -- Caleb Epstein caleb dot epstein at gmail dot com

Matt S Trentini wrote:
Heya David,
Would it be possible to get your talks recorded? Perhaps something like what Doug Kaye is doing with IT Conversations?
http://www.itconversations.com/
I'd prefer, of course, to come watch your presentation but Australia is just a little remote sometimes... ;)
It's an interesting idea; I'll give it some thought.
As for the topics, I think your original suggestions sound great.
Thanks ;^) -- Dave Abrahams Boost Consulting http://www.boost-consulting.com

David Abrahams wrote:
Matt S Trentini wrote:
Heya David,
Would it be possible to get your talks recorded? Perhaps something like what Doug Kaye is doing with IT Conversations?
http://www.itconversations.com/
I'd prefer, of course, to come watch your presentation but Australia is just a little remote sometimes... ;)
It's an interesting idea; I'll give it some thought.
I'd settle for the PowerPoint slides used in the talk.
participants (8)
-
Caleb Epstein
-
Christopher D. Russell
-
David Abrahams
-
Deane Yang
-
Jonathan Turkanis
-
Larry Evans
-
Matt S Trentini
-
Wilmer Pitt