Re: How to handle these warnings?

Bruno Haible <[email protected]> Wed, 19 Jul 2017 17:51:57 +0200
Newsgroups gmane.lisp.clisp.general
Message-ID <2608150.E6PnSynh88@omega>
Sam Steingold wrote:
> > WARNING: Adding method
> >          #<STANDARD-METHOD (#<STANDARD-CLASS TEST-OP> (EQL #<SYSTEM 
> >          "alexandria">))> to an already called generic function
> >          #<STANDARD-GENERIC-FUNCTION OPERATION-DONE-P>
> > WARNING: Adding method
> >          #<STANDARD-METHOD (#<STANDARD-CLASS TEST-OP> (EQL #<SYSTEM 
> >          "alexandria">))> to an already called generic function
> >          #<STANDARD-GENERIC-FUNCTION PERFORM>
> > WARNING: Adding method
> >          #<STANDARD-METHOD (#<STANDARD-CLASS TEST-OP> (EQL #<SYSTEM 
> >          "babel">))> to an already called generic function
> 
> I wonder if we should add some ASDF generic functions (e.g., TEST-OP) to
> clos::*dynamically-modifiable-generic-function-names*.
> I also wonder if we should add a user-level function for that.
> 
> Bruno, wdyt?

Yes, if these generic functions are intended to be modified at runtime,
the right fix is to add these symbols to
  clos::*dynamically-modifiable-generic-function-names*.

But no, it's not clisp's codebase which should include knowledge about
the ASDF codebase. Rather, it's ASDF which should do
  #+clisp
  (progn
    (pushnew 'operation-done-p clos::*dynamically-modifiable-generic-function-names*)
    (pushnew 'perform          clos::*dynamically-modifiable-generic-function-names*)
    ...)

This is the short-term fix. The long-term fix is that clisp should provide
a means to declare that such a generic-function is meant to be modified at
runtime. Questions:
  1) What should the syntax for this declaration look like?
     (Extension of DEFGENERIC? Separate declaration macro? ...)
  2) Where should the information be stored?
     (In the generic-function object? On the symbol's property list? ...)

Bruno


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
clisp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/clisp-list