Generally you want to |load| the library, and |include| is header definition file. Though that's just an arbitrary convention; the point is that after having fed Gambit with your digest library definitions, you want to switch back to the root namespace, I would believe you do that by (namespace) .

A procedure digest-u8vector defined in the digest namespace, is universally accessible as digest#digest-u8vector| .

Alternatively, use Black Hole and it takes care of all namespace matters, see https://mercure.iro.umontreal.ca/pipermail/gambit-list/2012-November/006188.html .



2013/8/15 Dirk Theisen <d.theisen@objectpark.org>
Hi!

I am experiencing problems including digest.scm in client code.

Could someone please enlighten me?

If I do

(include "~~lib/digest#.scm")

I cannot access the exported functions.

If I do

(include "~~lib/digest.scm")

I am getting errors of string-append being a macro etc. and all symbols created in my code is now in the digest# namespace.

Yes, I tried to goggle this.

I found http://dynamo.iro.umontreal.ca/wiki/index.php/Namespaces but it does not mention how to import files that use namespaces.

Greetings,
   Dirk
_______________________________________________
Gambit-list mailing list
Gambit-list@iro.umontreal.ca
https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list