libera/#sicl - IRC Chatlog
Search
2:41:53
moon-child
2. Finaliser does _not_ get passed the object being finalised, but rather another object, which you specify at the same time as you specify the finaliser
2:42:45
moon-child
3. Finaliser must be specified as a symbol which names a function, rather than the function itself
2:43:55
hayley
I think you could implement it with weak hash tables, when the table is allowed to have just a weak reference to the key or value.
2:44:46
hayley
We keep a list of "another object"s from #2, and a table of "another object" -> finalised object which has weak values - okay.
2:45:15
hayley
One point I've heard (outside Common Lisp) is that finalizers tend to run concurrently with application code, so you better not think your program is sequential anymore.
2:46:05
hayley
For reasons that I have likely expressed in the past, I would believe this is user error to an extent.
2:47:07
moon-child
the main use case I can imagine for finalisers is freeing system resources when coexisting with some unix. Should be no problems there. What else do people use them for?
3:13:45
mfiano
Regarding my previous statement from the other day: I decided to stop using Common Lisp as my primary language, at least for a while. A bunch of small things contributed to this decision, mostly social issues internal to the community, but some personal issues as well. I'll still be available for consulting my (often bad) opinions and (hopefully better) advice for beginners on IRC, though.