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?