S-Expressions

qznc qznc at go.to
Thu Jan 24 23:43:39 PST 2013


On Friday, 25 January 2013 at 01:52:27 UTC, bearophile wrote:
> qznc:
>
>> We're even now ;)
>>
>> http://rosettacode.org/wiki/Rosetta_Code/Rank_languages_by_popularity#D
>
> I have cut some lines, and I have used a more functional style, 
> that fits well for this entry. Compared to the C++ entry this D 
> entry is nicer.
>
> I greatly prefer the "verbose" option of the Python regex. And 
> "g" for regexes should be the default.
>
>
> This D code:
>
> auto pairs = categories.match(r2)
>              .filter!(m => languages.canFind(m[1]))()
>              .map!(m => tuple(m[2].to!uint(), m[1].dup))()
>              .array();
>
> With a Python-like syntax becomes nicer:
>
> auto pairs = [(r.to!uint, l.dup) for l,r in
>               categories.match(r2)
>               if l in languages];


I completely agree. The functional style is better and I miss 
list comprehensions as well. It does not require new keywords, so 
maybe it can be added to D at some point.


More information about the Digitalmars-d-learn mailing list