Article: the feature that makes D my favorite programming language

Aliak something at something.com
Mon Jul 27 06:40:17 UTC 2020


On Saturday, 25 July 2020 at 16:22:52 UTC, H. S. Teoh wrote:
> On Sat, Jul 25, 2020 at 01:28:34PM +0000, Adam D. Ruppe via 
> Digitalmars-d-announce wrote:
>> On Saturday, 25 July 2020 at 11:12:16 UTC, aberba wrote:
>> > Oop! Chaining the writeln too could have increased the wow 
>> > factor. I didn't see that.
>> 
>> oh I hate it when people do that though, it just looks off to 
>> me at that point.
>
> Me too.  It gives me the same creepie-feelies as when people 
> write
> writeln(x) as:
>
> 	writeln = x;
>
> Actually, D's lax syntax surrounding the = operator gives rise 
> to the following reverse-UFCS nastiness:
>
> 	// Cover your eyes (unless you're reverse-Polish :-P)! and 
> don't
> 	// do this at home, it will corrupt your sense of good coding
> 	// style!
> 	import std;
> 	void main() {
> 		writeln = filter!(x => x % 3 == 1)
> 			= map!(x => x*2)
> 			= [ 1, 2, 3, 4, 5, 6 ];
> 	}
>
> 	// Output: [4, 10]
>
>
> T

Oh my god ... it’s like haskells $ 🤔

Why is this allowed?

I mean, ok, it was probably done to allow property syntax. But 
how did this end up being applied to every function?

Can this be fixed?




More information about the Digitalmars-d-announce mailing list