Why Ruby?

foobar foo at bar.com
Sun Dec 19 03:08:15 PST 2010


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. 


More information about the Digitalmars-d mailing list