On 10/28/14 1:09 PM, "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= <ola.fosheim.grostad+dl...@gmail.com>" wrote:
On Tuesday, 28 October 2014 at 16:02:03 UTC, Steven Schveighoffer wrote:
I don't think recipient.send(mail) is that unintuitive. It's how I
would visualize it from a contact application for instance.

sender.send(mail) ?

Consistency about direction is important when you choose names and
syntax. I think in general that message passing "obj.method()" should be
used when the function is either mutating the object or is an activity
that the object has a sense of ownership on.


But parent is not the actual object, it's a *mailbox* of that object, or a reference. In essence, you are saying "use this recipient record to send a message to it's target"

UFCS breaks this distinction, e.g.:

arr.sort()  // inline mutating sort

vs.

sort(arr)  // functional pure sort

If you are saying we should expect sort(arr) to return a *copy* of the array that is sorted, I don't think that's a fair assessment of D user expectations. D is not a functional language. Even D pure function can mutate data.

-Steve

Reply via email to