Thread overview | ||||||||
---|---|---|---|---|---|---|---|---|
|
January 22, 2013 S-Expressions | ||||
---|---|---|---|---|
| ||||
After "Atomic Updates" from rosettacode.org, here is "S-Expressions". Problem: http://rosettacode.org/wiki/S-Expressions Code: http://dpaste.dzfl.pl/fd485808 Comments, improvements? |
January 23, 2013 Re: S-Expressions | ||||
---|---|---|---|---|
| ||||
Posted in reply to qznc | qznc:
> Comments, improvements?
See RosettaCode, only a little reformatting, cleaning, etc.
Bye,
bearophile
|
January 23, 2013 Re: S-Expressions | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | We are getting to the Mathematica again: http://rosettacode.org/wiki/Rosetta_Code/Rank_languages_by_popularity Bye, bearophile |
January 24, 2013 Re: S-Expressions | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | On Wednesday, 23 January 2013 at 17:49:23 UTC, bearophile wrote: > We are getting to the Mathematica again: > http://rosettacode.org/wiki/Rosetta_Code/Rank_languages_by_popularity > > Bye, > bearophile We're even now ;) http://rosettacode.org/wiki/Rosetta_Code/Rank_languages_by_popularity#D |
January 25, 2013 Re: S-Expressions | ||||
---|---|---|---|---|
| ||||
Posted in reply to qznc | 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];
Bye,
bearophile
|
January 25, 2013 Re: S-Expressions | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | 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.
|
Copyright © 1999-2021 by the D Language Foundation