<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-15"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<small><font face="Verdana">Hello Gustaf,<br>
</font></small><br>
<blockquote cite="mid:483FF46D.8080900@wu-wien.ac.at" type="cite">However,
can you tell more about your use-cases?
  <br>
  <br>
I was thinking a few times about providing interceptors
  <br>
for single methods, similar to the method combinator :around
  <br>
in CLOS.
  <br>
</blockquote>
<br>
<small><font face="Verdana">When I read it right (I have little idea
about CLOS and not much experience with LISP...), this is exactly what
I mean. Just a piece of code that is called whenever a certain method
of an object is called and which can serve as kind of "observer" for
this method.<br>
<br>
One thing comes to mind since I play around with Tclhttpd and a
persistency framework: Tclhttpd maintains sessions as safe slave
interpreters. These interpreters must know about persistency objects in
the server, so it is necessary that <br>
- whenever a persistency object is created, a command alias for it must
be created in certain sessions (interpreters)<br>
- whenever a session is created, certain persistency objects must be
"informed" (-&gt; a command alias for them must be created in the new
interpreter).<br>
- whenever a session is destroyed, it's alias must be removed from all
persistency objects that contain it.<br>
<br>
It involves interception of several methods and attributes, which I
currently do with instfilters and instfilterguards. But it would be
simpler if the filter is optionally just called on one method. I am
using different filters for different methods anyway, because it avoids
large [switch] statements.<br>
<br>
If that can be implemented with mixins, fine. I was seeing mixins more
in the context of code reuse as an alternative to inheritance, and not
as an interception technique.<br>
<br>
-- <br>
Eckhard<br>
<br>
</font></small>
</body>
</html>