Marius Vollmer <[EMAIL PROTECTED]> writes: > When using #:replace, the exporting module is making the promise that > the warning can be surpressed because everything is alright. It can > only do that if the replacing binding is compatible with what it > replaces.
So I think we disagree. ;-) Basically, I'm saying that `#:replace' is alright when the module /purposefully/ overrides and binding and is documented to do so, while you say that it should be used only when a module /compatibly/ overrides a binding. I still think that one never types `(use-modules (srfi srfi-60))' inadvertently, which supports the `purposefully' vision. IOW, the "common case" (and this is debatable) is that you _want_ `bit-count' to be overridden when you type this in. And we want to optimize for the common case. In any case, the documentation will have to be updated to whatever vision you think is right. > Often, the user of a module also knows that everything is alright and > wants to surpress the warning. (That's where you come in, > Ludovic. :-) The user can only do that by giving parameters to > use-modules or its own define-module. He should not go and add a > #:replace to the exporting module. The only ways to do avoid the > duplicate warning for a module user currently are to rename the > bindings on import, or to use an explicit #:duplicates handler. > (Right? Anything else?) I find this use of duplicate binding policies quite circumvoluted and unclean for that matter. > Hmm, I think current usage is in line with what I described above. > Right? Right, within Guile. Outside, current usage may be inexistent because it was not documented. Thanks, Ludovic. _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel