unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: tb@becket.net (Thomas Bushnell, BSG)
Cc: Neil Jerram <neil@ossau.uklinux.net>
Subject: Re: How guile knows?
Date: 11 Jan 2003 17:25:16 -0800	[thread overview]
Message-ID: <87znq7durn.fsf@becket.becket.net> (raw)
In-Reply-To: <03011118254404.01603@locke.free-expression.org>

Lynn Winebarger <owinebar@free-expression.org> 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


  reply	other threads:[~2003-01-12  1:25 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-09 14:19 How guile knows? Krzysztof Garus
2003-01-09 23:48 ` Neil Jerram
2003-01-10  3:59   ` Thomas Bushnell, BSG
2003-01-11 23:25     ` Lynn Winebarger
2003-01-12  1:25       ` Thomas Bushnell, BSG [this message]
2003-01-12  1:57         ` Lynn Winebarger
2003-01-12  2:27           ` Thomas Bushnell, BSG
2003-01-12  6:17             ` Thien-Thi Nguyen
2003-01-13 20:00       ` Paul Jarc
2003-01-14 17:35         ` Marius Vollmer
2003-01-14 18:38           ` Paul Jarc

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87znq7durn.fsf@becket.becket.net \
    --to=tb@becket.net \
    --cc=neil@ossau.uklinux.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).