Boost logo

Boost :

From: Joel de Guzman (joel_at_[hidden])
Date: 2006-05-10 07:57:42


Eric Niebler wrote:
>> - What is your evaluation of the design?
>
>
> Very nice. Joel and Dan have put a lot of thought into the design of
> Fusion. Lazy heterogeneous sequences are very powerful. As Joel and I
> have discussed extensively in recent weeks, support for segmented data
> structures would make traversal of some sorts of sequences much more
> efficient. Joel seems interested and committed to making these changes,
> and I'm happy to help.

I think the segmentation idea is very good. I love the direction that
this is leading to. Thank you very much for spear-heading the effort.

> Like Dave, I'd like to see some more thought put into the extensibility
> mechanism. Defining new Fusion iterators is a bit painful, and something
> like a Fusion iterator adaptor library might be very useful. That might
> be possible if the metafunctions were all part of the same struct. I'd
> be satisfied with an analysis that breaks down the pros and cons of such
> an approach.

As I mentioned in my reply to Eric Friedman, the extensibility mechanism
is no more difficult than extending MPL. It just so happens that the
extension section gave a not so trivial example (that of a random access
and associative sequence). Anyway, I do agree that a better extension
mechanism, if one can be found, would be a definite boon to using
Fusion.

> Some miscelaneous questions:
>
> - Why is there a traits::tag_of<> for extracting the sequence tag, but
> no corresponding metafunction for extracting the iterator's tag?

traits::tag_of<> should be usable for iterators too. The docs should
make that clear.

> - Why do I have to declare both my sequence's category *and* my
> iterator's category? Won't there always be an obvious relation between them?

Iterators do not have the exact same categories as sequences. For
example, iterators do not have the associative category.

> - how is is_view<> used? The Extensibility section says I have to
> specialize it, but I don't think it says anywhere why.

I'll discuss this in another post.

> - Where is as_tuple? I need it!

It resides in the future :)

>> - What is your evaluation of the implementation?
>
>
> Top notch. Clean and very granular headers. The directory structure
> could be a bit simpler, but that's a nit.

Thanks! What directory structure do you have in mind?

[...]

> I vote to accept.

Thank you very much!

Regards,

-- 
Joel de Guzman
http://www.boost-consulting.com
http://spirit.sf.net

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk