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?


Reply via email to