Boost logo

Boost :

From: Joel de Guzman (joel_at_[hidden])
Date: 2006-12-14 18:01:33


Shunsuke Sogame wrote:
> Weapon Liu wrote:
>> I think this is the right place to ask this question.
>> As cool as boost::fusion is, there's still one question that bothers me,
>> that is, if boost::fusion is the hammer, then what's the nail?
>>
>> I sure know that it's generic( more so than boost::tuple) and it's
>> complete( with a bundle of algorithms and cool utilities), and it seems
>> that it "solves" some problem quite well( when I read the documents).
>>
>> However, I found it bothering that the documents didn't even mention one
>> real-world application( boost libs aside).
>>
>> Based on my experience, the most frequent scenarios where
>> boost::tuple/fusion is useful are those where one needs a
>> generated-on-the-fly struct for holding return values bundle, or where
>> one needs to return multiple values transparently( well, nearly so),
>> just like those lua does.
>
> The fusion/tuple seems more generic?
> Functional languages have curried and uncurried functions.
> C++ is considered as a langauge that has "fused and unfused" functions?
>
> void foo(int, int); // unfused
> void foo(tuple<int,int>); // fused
>
> Note that functional languages regard unfused one as "tupled"; conFusing :-)
>
> Well, once an unfused function is converted to fused one,
> it is unary.
> Some kind of job will be easy; e.g. function composing.

Kinda con-fusing :-) But once you get the essence, it really
makes sense :P

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