On Wed, Jul 28, 2010 at 12:13 AM, Michael Lucy <michaelgl...@gmail.com> wrote:
> Another question about module namespaces: I have some syntax that I'd > like to be available to code generated by macros in my module, but > which I'd rather not export to the user (to avoid clobbering their > functions). Is there a standard way of doing this? I can't seem to > find anything in the module documentation regarding giving namespaces > to things in modules except for :renamer, which has to be done by the > user--the only options appear to be not exporting it at all, or > exporting it straight into the user's namespace. The best fix I can > think of is naming the syntax things the user is unlikely to ever take > (or maybe using gensyms to make sure it isn't a name they take). I can't speak on the namespace issues and perhaps there is a better solution, but you can explicitly reference a binding in a module using @ (exported bindings) or @@ (private bindings) like (@ (guile) list) to get the function LIST from (guile).