On 3/5/2015 4:52 AM, Louis Dionne wrote:
Eric Niebler
writes: [...]
[*] My GSoC idea: my Meta library is built around variadic parameter packs, aka lists, and I think I'm happy with that. But it has been suggested that it could be built instead around the Foldable concept. The project would be to redesign Meta around Foldable types, and add other "containers" to Meta besides lists, like sets, and have the algorithms work with anything that is Foldable.
Thanks for the feedback, Eric. However, there's something that has been tickling me for a while with Meta. I am seeing some kind of convergence in Meta towards the MPL11, especially with the addition of the lazy operations. If you go down the Foldable road, then you would end up with something incredibly similar. The MPL11 does exactly that work of splitting sequences into Foldable, Iterable and other similar concepts. Frankly, my impression is that Meta is reinventing MPL11's wheel, and I would like to know whether (1) I am wrong (2) this is done unconsciously (3) this is done consciously because you think the MPL11 doesn't cut it.
Of course, it is the possibility of (3) that has been tickling me :-).
I didn't know you were tracking the progress of Meta. Good, I've been meaning to talk with you about it. I haven't looked at MPL11; any similarity is purely coincidental, or more likely, a case of convergent evolution. I find the idea of Foldable interesting, but I also see great appeal in keeping the library small and strictly about manipulating variadic parameter packs (type lists). My feeling is that a set of utilities for manipulating parameter packs would be an easier sell to the committee, and that's really where my thrust is. I'm curious to hear your thoughts about that. If I find time, I'll take a look at MPL11. Where can I find it? -- Eric Niebler Boost.org http://www.boost.org