Walter Bright Wrote:

> JRM wrote:
> > you could write:
> > sort!(@1>@2)(x);
> [...]
> > I think this idea (or something similar) is worth consideration.  It is 
> > simply a small extension to an already existing feature that would give D 
> > a terser syntax for lambda's than most of the other languages we've been 
> > discussing.
> 
> but:
> 
>     sort!("a>b")(x);
> 
> is just as short! And it already works.

I think that the issue here is not about syntax as much as it is about 
semantics:
As others said, this is equivalent to dynamic language's eval() or to D's 
string mixin and the this raises the question of hygiene which sadly has no 
good solution in D. 

The main concern is this:
In what context are the symbols 'a' and 'b' evaluated? 

At the moment they cannot be correctly evaluated at the caller context and do 
not allow:
sort!("a.foo() > b.bar()")(whatever);

The bikesheding of the syntax does not address this concern at all. 

Reply via email to