On Thursday, 5 September 2013 at 10:36:40 UTC, Dicebot wrote:
On Wednesday, 4 September 2013 at 17:10:32 UTC, Timothee Cour wrote:
frankly, UFCS mixin would make the use case in the OT bearable.

fun().mixin.writeln is ok
mixin(fun()).writeln is ugly (esp in more complex cases).

so, is there anything against it despite requiring one to implement it?

I guess there is nothing terrible but also nothing extremely useful :) For me second snippet is not any uglier.

Stuff like data validation, or lazy initialization, anything really data oriented usually benefit from that.

Also, the dichotomy function call/field access is really not that clear at the end. Accessing some data may require a function call, go through a signal handler, or involve complicated operation by the CPU (potentially 2 round trip to memory).

On the other hand, optimizer will remove many function calls making them effectively field access. Even if it isn't inlined, a simple function call could end up being faster than 2 round trip to memory (the stack is hot).

Reply via email to