Boost logo

Boost Users :

From: David Abrahams (dave_at_[hidden])
Date: 2007-06-06 10:52:28


on Wed Jun 06 2007, Zeljko Vrba <zvrba-AT-ifi.uio.no> wrote:

> The fusion library manual gives a single example and says "this is just
> the tip of the iceberg". I was wondering whether the slides/materials
> from the Boost Conference are available?
>
> I'm most interested in the lectures "Boost Metaprogramming Concepts
> and Frameworks" and "Fusion by example".
>
> I'm in the process of (slowly) reading THE "MPL book" (by Dave and Alexei),
> but I'm looking for more "down-to-earth" examples, rather than constructing
> small DSLs or creating optimized versions of swap.

By "down-to-earth" I suppose you mean "like the problem I'm trying to
solve?"

> Synopses of the above lectures contain:
>
> "We'll also get a taste of high-level metaprogramming abstractions by
> using several Boost metaprogramming librariesMPL, Preprocessor, and the
> Fusion tuple library to solve real problems."
>
> "The emphasis for the examples will be on using Boost.Fusion in application
> code, rather than as infrastructure for library developers."
>
> I'm in the process of writing a recursive data structure with very
> similar operations at every level, but still with small behavioral
> variations. It seems like a perfect problem for metaprogramming,

Why?

> but I fail to map MPL's type manipulation routines to my
> down-to-earth problem.

Maybe because that's not the most appropriate approach for your
problem. Did you go through the book's criteria for when
metaprogramming might apply, in section 1.1.6?

I have been working on something that sounds similar to what you're
doing, but I'm using basic generic programming to do it. Have you
seen http://lafstern.org/matt/segmented.pdf ?

> I was hoping to get some more insight in MPL from the materials for
> the abovementioned lectures. Get a new perspective and background
> to keep in mind while reading the MPL book.
>
> So, I kindly ask Dave Abrahams, Dan Marsden and Joel de Guzman to make
> their lecture materials available on-line, if possible.

Most of what is in the slides is also in the book, so I don't think it
would be of much help to you. If you're not specifically trying to
raise the abstraction level of your client's code to the point where
they can be seen to be using a DSEL, you probably don't want
metaprogramming except as an occasional implementation tool (as shown
in the book's swap example, which is really just there to illustrate
the value of type information and get you acquainted with type traits).

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net