Re:Rust RAII is better than the Haskell bracket pattern
by rbehrends on Tuesday October 09, 2018 @10:12AM
(#18176109)
> It also only refers to ownership, not borrowing, and both are equally important.
I addressed borrowing above. Borrowing is proving lifetime subset properties and that you therefore can avoid increasing the virtual reference count.
And this is not about whether this is useful for beginners. It is to illustrate inherent limitations of the approach.
Re:Rust RAII is better than the Haskell bracket pattern
by steveklabnik on Tuesday October 09, 2018 @10:19AM
(#18176170)
> I addressed borrowing above. Borrowing is proving lifetime subset properties and that
Right, so what I'm saying is, the description of borrowing doesn't really fit in with the reference counting aspect of the analogy, so it ends up being separate from it.
> And this is not about whether this is useful for beginners.
Right, that was my point. :)
I mean, in the end, do what you'd like. All I'm saying is that I've seen this analogy lead to tons of confusion. YMMV.
It also only refers to ownership, not borrowing, and both are equally important.
Beyond that, what I'm saying is something more meta: It doesn't really matter if this analogy is spot-on or not; it's got enough wiggle room in it that I've seen it trip up beginners. Maybe that's because they misunderstand the analogy, but given that its point is to convey understanding, that means that it isn't a great analogy, in my experience. YMMV.
1: directly, of course; this also depends on the language.