Future of string lambda functions/string predicate functions
Tyler Jameson Little
beatgammit at gmail.com
Wed Aug 14 00:10:37 PDT 2013
On Wednesday, 14 August 2013 at 05:44:50 UTC, Brad Anderson wrote:
> 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.
Or imitate bash:
Binary:
- gt: a > b
- ge: a >= b
- lt: a < b
- le: a <= b
- eq: a == b
- ne: a != b
Unary:
- z: (zero) a == 0 (if range, a.empty?)
- n: (non-zero) a != 0
Perhaps this is *too* terse?
More information about the Digitalmars-d
mailing list