From: "Markus Werle"
Peter Dimov wrote:
But why aren't you using lambda::bind _in_ _parallel_ with the other lambda features? Is there a particular reason for it?
Well, I got the impression that boost::function stuff has some extra convenience not offered by boost::lambda::bind et. al.. Do I understand You correctly, that You ask me to use boost::lambda::features everywhere instead of boost::function?
boost::function is a separate library. It can be used with boost::bind, and it can be used with Lambda. I asked you whether you have a particular reason to prefer boost::bind over boost::lambda::bind.
Is there a 1-to-1 correspondencce in functionality?
Almost. The differences between boost::bind and lambda::bind are enumerated here: http://www.boost.org/libs/lambda/doc/ar01s08.html#id2808613
I just argue that it _should_ be possible to use both of them in the same compilation unit without name clashes. This is what namespaces originally were invented for ...
Historically, conflicts between Bind and Lambda were almost never a problem, since there is rarely a reason to use both; the two libraries complement each other as Bind is typically used on non-conformant compilers where Lambda is not supported. The long term goal has always been to have one library. Unfortunately, the underlying architectures of Bind and Lambda are too different and it's not easy to just merge them while still retaining support for MSVC 6, for example. So it's a case of "if it ain't broken, don't fix it".