There was some heated discussion about the disadvantages of using strings as a
predicate, and coming up with some new syntax that DMD would support. Some
people did not like using strings and would rather use _ or _0/_1 instead of
this:
auto arr = [0,1,2,3,4];
auto plusOne = map!("a + b")(arr);
Well, while we were arguing about a new syntax, a clever fellow named Phillipe
Sigaud has already come up with a way to use predicates without resorting to
strings:
auto arr = [0,1,2,3,4];
auto plusOne = map!(_0 + _1)(arr);
Check it out:
http://svn.dsource.org/projects/dranges/trunk/dranges/docs/lambda.html
Make sure you read the features section. Is that awesome or what?