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] |
>>>>> "Aleksandar" == Aleksandar Bakic <bakicale@cps.msu.edu> writes: Aleksandar> Hi, There seems to be some incompatibility between how Aleksandar> gh_new_procedure registers SCM objects and the way Aleksandar> Hobbit accesses these objects. Namely, Hobbit uses Aleksandar> scm_intern, while I think gh_new_procedure does not Aleksandar> use scm_intern. The result: Hobbit cannot find any of gh_new_procedure uses scm_sysintern, which in most cases is equal to scm_intern. When you define a lambda, you use make_subr in hobbit compiled code, which is a call to scm_make_gsubr, so it is the same as gh_new_procedure. But for defining non-lambda objects, scm_intern is used. This is perhaps a bug, I will verify this. The answer is not immediate, as in eval.c, the code for define does not call these functions. Aleksandar> the procedures registered using Aleksandar> gh_new_procedure. Since I call gh_new_procedure from a Aleksandar> dynamically loaded C code (when `use-module' is Aleksandar> called, via scm_register_module_xxx, etc.), I tried Aleksandar> using `define-public' and `intern-symbol' but it Aleksandar> didn't help. I will how try calling scm_intern along Aleksandar> with gh_new_procedure, but I would like to find some Aleksandar> documentation about this. Here I believe the code is the documentation... B. Urban