On 28 September 2011 04:22, Michael Spertus wrote: > Benjamin, > I think tuple is wrong both for performance reasons (I believe these are > likely to be serious enough to depress use due to inordinately long compiles) > and because it prematurely locks us into a rigid choice of how our typelists > are implemented. > > My inclination is to make it type-independent by returning an unspecified > type that can have a sequence of types extracted from it (this is the > approach taken by boost::mpl and has loads of experience that shows it is a > good approach to metaprogramming). In other words, first<bases<A>>::type > would be the first base of A, etc.
Citing Boost MPL as a good way to avoid inordinately long compiles ... interesting! Have you ever tried to reduce a GCC bug report from 20k lines to 20, because most Boost libs include every MPL header?! I hope we can get a simple typelist _without_ needing everything else in MPL, such as the apply and lambda metafunctions (and maybe a lot of that could be massively simplified using variadic templates anyway.)