Hi, Kevin Ryde <[EMAIL PROTECTED]> writes:
> Yes, I'm talking about the module user too, the module user loses some > core bindings. > >> This is exactly the behavior users may expect. > > If you don't know about the clashes/replacements then you're likely to > be unpleasantly surprised to see core stuff suddenly move under your > feet. But a way to acknowledge that in the use-modules might be nice. My opinion about this is that it is a matter of documentation. That is, you don't want core bindings to get overloaded in unexpected ways. However, in some cases, you do know that a given module redefines various core bindings, and you do know that you *want* this. The manual clearly documents the binding conflicts for the SRFI modules we're talking about. I'd say it is the user's responsibility to make sure they know what they're doing. ;-) As I tried to explain in the doc, `#:replace' is really a way for the module developer to give a *hint* to the module user. By default, this hint will be obeyed by the module user. However, the user still has the opportunity to not take this hint into account by choosing a different chain of duplicate binding handlers. Now, if that hint is not provided by the modules in question and you want to tell the module system that you *know* what you're doing (to get rid of the warning message), then there is no clean way to do it. Of course, you can choose the `last', `first', or whatever duplicate binding handler that makes the warning message vanish (this is what people sometimes do currently). But that does not qualify as a clean solution. Thanks, Ludovic. _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel