From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: tb@becket.net (Thomas Bushnell, BSG) Newsgroups: gmane.lisp.guile.user Subject: Re: How guile knows? Date: 11 Jan 2003 17:25:16 -0800 Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Message-ID: <87znq7durn.fsf@becket.becket.net> References: <20030109141923.GA23577@kolos.math.uni.lodz.pl> <8765sxirir.fsf@becket.becket.net> <03011118254404.01603@locke.free-expression.org> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1042334696 31938 80.91.224.249 (12 Jan 2003 01:24:56 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sun, 12 Jan 2003 01:24:56 +0000 (UTC) Cc: Neil Jerram Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18XWrv-0008J0-00 for ; Sun, 12 Jan 2003 02:24:55 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18XWr4-000769-05 for guile-user@m.gmane.org; Sat, 11 Jan 2003 20:24:03 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 18XWqb-000763-00 for guile-user@gnu.org; Sat, 11 Jan 2003 20:23:33 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 18XWqa-00075Z-00 for guile-user@gnu.org; Sat, 11 Jan 2003 20:23:32 -0500 Original-Received: from vp190174.reshsg.uci.edu ([128.195.190.174] helo=becket.becket.net) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18XWqZ-00075V-00 for guile-user@gnu.org; Sat, 11 Jan 2003 20:23:32 -0500 Original-Received: from tb by becket.becket.net with local (Exim 3.35 #1 (Debian)) id 18XWsG-0008Lq-00; Sat, 11 Jan 2003 17:25:16 -0800 Original-To: Lynn Winebarger X-Reply-Permission: Posted or emailed replies to this message constitute permission for an emailed response. X-PGP-Fingerprint: 1F0A1E51 63 28 EB DA E6 44 E5 5E EC F3 04 26 4E BF 1A 92 X-Windows: A moment of convenience, a lifetime of regret. In-Reply-To: <03011118254404.01603@locke.free-expression.org> Original-Lines: 26 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Original-cc: guile-user@gnu.org X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: General Guile related discussions List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: main.gmane.org gmane.lisp.guile.user:1538 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.user:1538 Lynn Winebarger 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. Thomas _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://mail.gnu.org/mailman/listinfo/guile-user