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?