CLIM mail archive
[Prev][Next][Index][Thread]
Question concerning methods
Dear CLIMmers,
I'm currently building an application interface with CLIM (1.0 & 1.1 on Lucid
and Allegro). One way to detect whether the execution of some code affects the
representation of interface objects is to provide :after-methods for those
application functions which might affect the interface state. So, it is not
necessary to change the application code itself. I don't know if I made this
clear, so an example would be:
in the application code:
(defmethod create-new-application-object (arg1 arg2)
...)
in the interface code:
(defmethod create-new-application-object :after (a1 a2)
...
(redisplay-pane ...))
My problem is now, that the interface code should be independent from the
application code (and, of course, vice versa), that is, I don't want to "copy"
the lambda-list of the application code into the after method of the interface
myself. What I have in mind is a macro which dynamically defines the after
method and gets the lambda-list from the generic function:
(define-after-method-for-generic-function 'create-new-application-object
...body...)
Now, I haven't found a legal way to get the lambda-list of a generic
function. In Allegro4.1, it is in the slot "CLOS::PRETTY-ARGLIST", in
Lucid, it is in the slot "CLOS::LAMBDA-LIST" of the generic function
object.
My question is whether anybody has found a legal (Ansi-Draft-Conforming...)
way to get the lambda-list of a generic function object.
Any hints are welcome,
Oli
-----------------------------------------------------
oli@adler.philosophie.uni-stuttgart.de
christ@is.informatik.uni-stuttgart.de
Oliver Christ, Student of Computer Science at the
University of Stuttgart, Germany
-----------------------------------------------------
Follow-Ups:
Main Index |
Thread Index