Hi!

I'll try to help you with some answers:

1) One solution would be to use Blackhole, it handles the location. If you don't the best solution is to use the ~~ syntax:
(load "~~yourlib/yourmodule")
This will expand to your current Gambit installation directory. In my case, this would be /usr/local/Gambit-C/yourlib/yourmodule.scm

2) Well, the place for learning Gambit usage is the documentation in the web, AFAIK. There are also some other explanations in the wiki.

3) Use Blackhole, it will both give you a module system and a macro expander (for syntax-rules and syntactic closures). Snow was primarily intended to be a cross-implementation module system, for portable libraries, but I think it wasn't very successful as it seems unmaintained. Probably due to R6RS irruption.
I have my own system, which is not really a module system, but a way to handle packages and automate tasks. In the near future I'll try to merge it with Blackhole.

4) Try with pretty printing: (pp object). Another useful procedure would be OBJECT->STRING

5) In my opinion, one of the strongest points of this implementation is its FFI capabilities. There are Cairo bindings in the dumping grounds of the web. I have also made my own, updated to Cairo 1.12. C bindings are _relatively_ straightforward. Objective-C seems to be as well, although I don't have experience with this (there are some helper macros in the dumping grounds as well). But I don't see why you would have any problems with Glib/GTK/Cairo. You'll have to figure a way to express the functionality of Glib's C macros.


I hope I clarified some things.

Best regards,

Álvaro