Boost logo

Boost :

Subject: Re: [boost] [1.47] New libraries
From: Eric Niebler (eric_at_[hidden])
Date: 2011-03-17 08:33:05


On 3/17/2011 6:17 PM, Joel de Guzman wrote:
> On 3/17/11 5:24 PM, Daniel James wrote:
>> On 17 March 2011 08:52, Thomas Heller<thom.heller_at_[hidden]> wrote:
>>>
>>> There are still some unresolved issues. Mainly how to deal with the
>>> migration of Boost.Bind, Boost.Lambda and Phoenix V2. There hasn't
>>> been any discussion regarding that.
>>
>> I don't think it'd be a good idea to do anything to bind or lambda in
>> this release. Was there a consensus on replacing them? Personally, I'd
>> like to keep the existing Boost.Bind, even if in a different
>> namespace. I appreciate its relative simplicity and portability.
>
> Bind should not be touched. People rely on Bind esp. those using old
> compilers. Also, Bind is extremely lightweight with almost zero
> dependencies. Phoenix cannot get anywhere near that.

Joel is right. The best we can do is make phoenix::bind a drop-in
replacement and let people choose.

OTOH, it would be very nice if Bind's placeholders were the same as
Phoenix's. So it would be worth taking the time to see if we could
refactor Proto such that terminals could be defined in a very
light-weight way. But I also know that Bind jumps through hoops of fire
with the placeholder definitions to support ancient compilers, so this
might not be possible.

However, if it /were/ possible (and we navigate the tricky proto-domain
waters), then I suggestion the placeholders be spun into their own
mini-library that can be shared across all the EDSLs in Boost that
require placeholders. (Except MPL, where the placeholders are types and
not objects.)

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com

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