Boost logo

Boost :

Subject: Re: [boost] Rave for proposed Boost.Local (functions)
From: Jeffrey Lee Hellrung, Jr. (jhellrung_at_[hidden])
Date: 2011-02-02 02:24:41


On 2/1/2011 11:00 PM, Thomas Heller wrote:
> Gregory Crosswhite wrote:
>
>> Hey everyone,
>>
>> The purpose of this e-mail is to rave about Lorenzo's proposed
>> Boost.Local library in the hopes of inspiring people to start the review
>> process for it. :-)
[...]
> Despite the Local Blocks and Local Exits feature, I can't see much
> difference to the already existing lambda libraries.
> I just looked through the Boost.Local documentation and immediately
> navigated to the "Alternatives" section and its not really correct regarding
> the features of Boost.Lambda and Boost.Phoenix. I am specifically talking
> about the "Bind variables in scope" and "Program body using usual C++
> syntax" part. The last is debatable, but how are the above examples (both of
> Boost.Local and Boost.Phoenix) not C++ syntax?
> Can you highlight the advantages/disadvantages again?

Purely speculating, but I'd guess the difference in compile times could
be quite a bit different, especially for more elaborate uses (both in
terms of the number of template instantiations and function inlinings as
well as the amount of header code to parse through and preprocessor code
to expand). If so, do you consider that a "plus" for (proposed)
Boost.Local over, e.g., Boost.Phoenix?

It *might* also be *possible* that the higher transparency (from the
perspective of the compiler) of functions written with (proposed)
Boost.Local may give superior (faster, smaller, whatever) compiled code
on some compilers than the equivalent in Boost.Phoenix. Obviously,
though, I'm sure you (Thomas) along with Eric, Joel, Dan Marsden, and
any number of other boosters with vastly more experience in expression
template libraries would be better able to assess that possibility.

It might help Lorenzo's cause to give specific examples where he (or
anyone else) feels the (proposed) Boost.Local construct is superior in
some way to the Boost.Phoenix construct.

- Jeff


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