David Abrahams wrote:
If you are coming to the ACCU conference in Oxford, I'll be giving a talk which describes how the MPL works in detail.
... and as a quick bit of feedback from some-one who was there <g> This was an excellent (if fast paced) introduction. Just like when you first learn STL you need to get your head around several concepts at once before you can make headway, I found there were similar concept in the MPL that you really need to understand close together, get the big picture, then the details start to become clear. In particular, discriminating the interface from the implementation is important (which is easy when somone is there to explain it to you, maybe less so when looking at a page of angle-brackets!) and seeing how a large part of MPL is simply repackaging complex types as something clearer. Yes, a lot of 'syntactic sugar' seems to be sprinkled in there, but that is the difference between being able to read your metaprograms, and writing something for the sake of doing something cool but distinctly write-only. While I do not think I am in much of a better position to explain MPL to anyone (sorry Edward!) I am quite confident I could go away and write interesting metaprograms with the aid of the docs now, as I can shoot for the concepts I need. Oh, and one massively cool thing about MPL is its ability to make meta-programs portable. Most of the hacks you will need are already implemented for you in the library, so just forget about them and write the meta-code <g> -- AlisdairM