Boost logo

Boost :

Subject: Re: [boost] [fusion] Any chance we can incorporate more folds?
From: Joel de Guzman (joel_at_[hidden])
Date: 2010-08-20 19:59:47

On 8/21/2010 5:21 AM, Steven Watanabe wrote:
> David Sankel wrote:
>> I've implemented, in particular, foldr1:
>> template<
>> typename Sequence,
>> typename State,
>> typename F
>> typename result_of::foldr1<Sequence, F>::type foldr1(
>> Sequence& seq, F const& f);
>> Semantics:
>> Equivalent to f(....f(f(e1,e2),e3)...) where e1 ...eN are the elements
>> of seq.
>> It is very useful for fusion sequences of possibly distinct types that have
>> identical concepts which can be merged in some way (like generators).
>> I very much like the folds that are included in Haskell's prelude, namely
>> foldl, foldl1, foldr (somewhat like boost's fold), and foldr1[1].
> We already have reverse_fold, which makes 2/4.

These contributions are very welcome, David. I'd love to take them in
if you also plan to write some docs to go with it :-)


Joel de Guzman

Boost list run by bdawes at, gregod at, cpdaniel at, john at