<div dir="ltr">Hi!<div><br></div><div>I'll try to help you with some answers:</div><div><br></div><div>1) One solution would be to use Blackhole, it handles the location. If you don't the best solution is to use the ~~ syntax:</div>

<div>(load "~~yourlib/yourmodule")</div><div>This will expand to your current Gambit installation directory. In my case, this would be /usr/local/Gambit-C/yourlib/yourmodule.scm</div><div><br></div><div style>2) Well, the place for learning Gambit usage is the documentation in the web, AFAIK. There are also some other explanations in the wiki.</div>

<div style><br></div><div style>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.</div>

<div style>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.</div><div style><br></div><div style>4) Try with pretty printing: (pp object). Another useful procedure would be OBJECT->STRING</div>

<div style><br></div><div style>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.</div>

<div style><br></div><div style><br></div><div style>I hope I clarified some things.</div><div style><br></div><div style>Best regards,</div><div style><br></div><div style>Álvaro</div></div>