This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Some sort of bug??






>(I thought I had sent an explanation to this yesterday.  Doesn't my
 >mail get through? (We have had some mail problems here recently.))

It gets through. But the turn around time on the mailing list seems to
be measured in days.

>Yes, the problem you experience has to do with modules:
>
>You load the definition of xscm:vicinity into the default module
>(guile user) but everything loaded with `require' gets loaded into the
module >(ice-9 slib).

Let me see if I understand guile modules.... Am I right in saying that
At any one time a piece of code is a member of one module (let's call it
the
MM, and has access to a number of other modules (Let's call them AMs).
The current MM is defined by (define-module) and the other AMs are defined
by (use-module).

Ummm. And it seems like any call to (define-module) will also wipe out your
current list of AMs. Is that right? Otherwise, how would an available
symbol
disappear from the view of a loaded module?

Or is it (load) that temporarily wipes out the current AM list?

>As I've said before, (ice-9 slib) isn't intended for emulation of
>SCM.  S(hould we supply an SCM compatibility module?)

Are we really talking about an emulation for SCM, or are we really talking
about simply full support for SLIB? I'm not an SLIB expert (at all), but
the SLIB manual seems to define what symbols should be available to
programs
which use SLIB. If SLIB says something should be there, shouldn't it be
there?

>If you anyway want to do this, then you should move into the (ice-9
>slib) module and do everything from within that module:
>
>(use-modules (ice-9 slib))   ; load
>(define-module (ice-9 slib)) ; move into the module

Hmm. Doesn't sound like TheRightThing to do. I'll have to think about that.
Maybe I should re-write the xscm code to use guile modules instead of
require.