Re: Hobbit and high-level GUILE interface (interning)

Bernard URBAN (Bernard.Urban@meteo.fr)
Thu, 26 Feb 1998 15:59:41 GMT

>>>>> "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