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] |
>>>>> "Dirk" == Dirk Herrmann <dirk@ida.ing.tu-bs.de> writes: Dirk> On Fri, 13 Nov 1998, Bernard URBAN wrote: >> A good example of how to use modules is hobbit itself... Have >> a look at how hobbit4d/libhob.scm is compiled as a module. The >> safe way to use modules with hobbit is to mimic this process. >> >> This may solve the problem you have with cdr. If not, could >> you post a short and COMPLETE exemple showing this problem ? Dirk> I have a really minimal example: Dirk> ----------------- test.scm: begin ---------------- (define Dirk> my_car car) ------------------ test.scm: end Dirk> ----------------- Dirk> I performed the following commands: Dirk> hob -v -c test.scm # the log is given below guile You should compile as a module: hob -v -c -m test.scm For all NEW definitions (not redefinitions), things should be fine without -m. guile> (use-modules (hobbit4d link)) (hobbit-load-from-path guile> "test") car Dirk> ERROR: In expression car: ERROR: Unbound variable: car Dirk> ABORT: (misc-error) Dirk> Type "(backtrace)" to get more information. guile> cdr Dirk> #<primitive-procedure cdr> guile> Dirk> This example shows that the problem occurs if a function is Dirk> given a new name. As you can see, no module stuff is used Dirk> (at least not by me). Only those functions that are given a Dirk> new name are influenced, since 'cdr' is still defined. Dirk> I still can't tell the reason, since the generated C code Dirk> (which I enclose at the bottom) makes sense to me (although Dirk> I haven't looked very deeply into how interned symbols Dirk> work). The way intern and friends work is also largely mysterious to me. Added to module, it is a real nightmare. For the sake of hobbit, having intern well explained and a C interface to modules would help a lot. If anyone is listening to that... -- B. Urban