On Wednesday, 14 August 2013 at 02:05:16 UTC, Manu wrote:
Can you give an example where you've actually used a string
lambda before
where the predicate is more complex than a basic comparison?
Surely the solution to this problem is to offer a bunch of
templates that
perform the most common predicates in place of unary/binaryFun?
So rather than: func!((a, b) => a < b)(args)
You use: func!binaryLess(args)
Or something like that?
How about just "less"? It's what C++ STL uses (std::less,
std::greater, std::negate, etc...). In C++, however, you have to
do some truly ugly stuff to actually make use of the predefined
function objects...bind1st...eww (the new C++11 bind is only
marginally better but C++11 does have lambdas now at least).
The thing that annoys me about string vs proper lambda's, is
that I never
know which one I'm supposed to use. I need to refer to
documentation every
time.
Also, the syntax highlighting fails.