guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] SRFI-34, SRFI-60 and core bindings


From: Ludovic Courtès
Subject: Re: [PATCH] SRFI-34, SRFI-60 and core bindings
Date: Mon, 24 Oct 2005 10:10:32 +0200
User-agent: Gnus/5.110004 (No Gnus v0.4) Emacs/21.4 (gnu/linux)

Hi,

Kevin Ryde <address@hidden> 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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]