On Tue, Jul 22, 2008 at 06:57:59AM +0800, Joel de Guzman wrote:
Really? Seems that you know very little of STL. It's been sold by countless people, in books, in mags, as "something abstract and generic". It's the very essence of generic programming in C++.
Yes, I'm aware that it's been sold as "something abstract and generic". Despite this, it boils down to a small set of easy to understand and manually implemented (to me, at this level -- this is an advantage because I understand what's going on, and compiler errors are still understandable to a human!) conventions that enable writing of reusable algorithms for general and special cases. And I don't need a big imagination to see what std::map is good for or when to use std::find. And now, the last sentence brings us back to square one: me trying to understand what MPL and fusion are / could be good for and with you jumping right into the middle of my discussion with Istvan, and you becoming (seemingly at least) frustrated with trying to help me when I never even explicitly asked for help -- it was a question about real-world usage! == Anyway, Dave has already recommended Stepanov's slides. Can you please (yes, *now* I'm asking for help :-)) recommend something else that explains generic programming in C++ [*] and which is not so verbose that it uses several pages and examples to explain why does an adaptable unary function need the "result_type" typedef. (This was just an example, and *not* a reference to Stepanov's slides.. just to give you an idea about what kind of text I'm after.) There's a bunch of papers at Stepanov's site, but what to read and in which order to read it? [*] My basic mistake is, I guess, drawing parallels with ML. Generic programming in C++ is (obviously?) sufficiently different / harder that analogies do not work well.