[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Let deprecate to-be-close variables as harmful concept
- From: "Pierre Chapuis" <lua@...>
- Date: Tue, 17 Oct 2023 09:38:51 +0200
I think this thread is running in a loop. I don't think it will change anyone's mind but let me give my point of view on this.
I was happy that to-be-closed variables ended up in Lua 5.4, even though I don't really like their interface (but I do not have a much better idea either). I think they should not be abused, and I do not particularly like <const>.
But there was one thing in particular that was really annoying to do before Lua 5.4, and that was properly managing cursor-like interfaces. By that I mean a variable used to iterate a collection that you must close afterwards. This is frequent when you use low-level databases, for instance.
In practice the way I use to-be-closed variables is often through the fourth variable of the generic for loop, so I don't even write <close> in my code.
In other words, I think to-be-closed variables is a very good addition to the language. Yes, you can shoot yourself in the foot if you try to do complicated things with them without a perfect understanding of how they work. The obvious solution is not to do that.
--
Pierre Chapuis