Conversation
by def’n it can see every point at which a by-value type is copied, which is equivalent to the ref points for by-ref.
1
(I am making the simplifying assumption that identity is solved by magical hand-waving)
2
Pass-by-value means a different thing than pass-by-ref. It makes a copy each time. Sometimes you want a copy; sometimes you don't.
1
right, but assume the language can assign either semantic to any particular pass.
1
How does the language know which the caller means?
2
it *decides* which the caller means. Like I said, identity is hand-waved away. Aside from that it’s optimization.
1
*squiiiiiiint* I don't see how you can hand wave identity away
1
1
pretend it’s by magic up to and possibly including the elimination of state.
1
(for example, you could limit it to any pure type)
1
Replying to
Okay, so for any immutable type, yes, this makes sense.
Replying to
That's a pretty major limitation tho. You're restricting to the subset where pass-by- semantics no longer matter.
1
Would create more of a motivation to use more immutable types, though, which is nice. ;)
1
Show replies
Replying to
Now, let’s define all types as being immutable by default. Like, you have to get out a wrench to make it mutable.
1
I get it, but I think we're talking about a very different language now. One of the appeals of Swift is its approachability… :/
3
1
Show replies


