I also would like a isStableNameTargetAlive function.
Though if you had such a function then you probably _could_ make a deRefStableName function, which, since there isn't one, probably means that such a function would be hard to make.

- Job

On Sun, Aug 30, 2009 at 4:54 PM, Peter Verswyvelen <bugfact@gmail.com> wrote:
>From the documentation, I don't think I grasp how stable names work.

From the docs:
"There is no deRefStableName operation. You can't get back from a stable name to the original Haskell object. The reason for this is that the existence of a stable name for an object does not guarantee the existence of the object itself; it can still be garbage collected."

From this I can conclude that stable names behave a bit like weak pointers.

However, suppose I have a hash table of these stable names. How can I remove the redundant stable names from the table? I mean removing stable names that refer to an object that is garbage collected? I don't see any function for checking that (e.g. isStableNameTargetAlive or something)

Thanks,
Peter





_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe