Reddit: why aren't people using D?

bearophile bearophileHUGS at lycos.com
Mon Jul 27 13:49:17 PDT 2009


Lutger:
> python: 
>   (x * x for x in xrange(10, 20) if x & 1)
> 
> D as of now:
>   map!("a * a")( filter!("a & 1")( range!(10,20) ) )
> 
> D with extension methods:
>   range!(10,20).filter!("a & 1").map!("a * a")
> 
> Not too bad right?

It's not terrible, but it's far from being nice. Strings are sharp and rough tools, when used for such purposes.
Map and filter of Phobos2 are lazy only, so if you need an array you have to add another function call (that's named array() in my dlibs, I don't remember the Phobos2 name).


> (the range function is fictional, I forgot if and which one exists in 
> phobos)

In Phobos2 it's named iota (from APL, maybe), it doesn't require the exclamation mark (bang, !) (but it's not smart enough yet to accept just one argument, and default the first one to zero).

Bye,
bearophile



More information about the Digitalmars-d mailing list