
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.
I second that. OTOH, the migration strategy for Phoenix V2 -> V3 needs to be defined carefully to minimize disruptions.
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.)
AFAIR, boost::bind placeholders can already be used out of the box with Phoenix V3. Thomas? Regards Hartmut --------------- http://boost-spirit.com