[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How guile knows?

From: Thomas Bushnell, BSG
Subject: Re: How guile knows?
Date: 11 Jan 2003 17:25:16 -0800
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Lynn Winebarger <address@hidden> writes:

>  Since modules have absolute names that can be typed in any time,
> they can't be garbage-collected any more correctly than global
> variable bindings (i.e. you can't because "references" can exist
> external to the computer's memory, in the future typing of the
> user).  Unless I'm mistaken about the absolute naming, of course.

This is only partially true.  Global variables bindings most certainly
*can* be gc'd just like any other object.  However, the table in which
they are looked up (probably a module, but I'm prescinding from that)
is an object which holds references to them, and the live listener
holds a reference to the table, keeping them all alive.

Module names shouldn't be magic; the most obvious way to map module
names to modules is that the module names are variables in some scope.
Let's pretend that they are global variables (it doesn't matter
really).  That means that the binding from module-name to module is
like any other global variable: it can't be gc'd so long as there is a
reference to the global variable scope, such as, from a live listener.

But the *module* is not the module name.  The fact that the binding
from module-name to module is near infinite (though it's incorrect to
say it can't be gcd) has nothing to do with the module itself.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]