unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* Delegation in goops?
@ 2006-02-10 18:11 Alan Grover
  2006-02-11 11:34 ` Neil Jerram
  0 siblings, 1 reply; 4+ messages in thread
From: Alan Grover @ 2006-02-10 18:11 UTC (permalink / raw)


Does anybody have a solution to implement delegation in goops?

I have an object that implements the full behavior of interest. Say it's
an employee object.

For whatever perverse reason, which I assure you is reasonable, I want
to wrap the employee in another object. And, for the most part, it will
act just like the employee, except in a few places. Let's say I want to
have the employee masquerade as the CEO. The wrapper would implement a
few methods like "title", "salary", etc. And, specifically, the wrapper
doesn't need to know what all the other methods are, or what might be
added later.

Seems like a job for delegation.

So, I looked at the goops MOP.

"compute-applicable-methods" would let me decide when to delegate or
not. But, "next-method" is implemented in such a way that it doesn't
call "compute-applicable-methods". Though not perfectly clear to me why,
next-method returned "no-method".

"no-applicable-method" assumes that you will throw an exception. It does
not let you substitute a method of your choosing. Specifically, it's
result is discarded, and it appears to be approximately in the same
place as "compute-applicable-methods" so you would get the same problems
as above.





_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2006-03-03 18:44 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-10 18:11 Delegation in goops? Alan Grover
2006-02-11 11:34 ` Neil Jerram
2006-02-19 15:24   ` Alan Grover
     [not found]     ` <6efab2350602250249r22295420vbd66286e5a05d12e@mail.gmail.com>
2006-03-03 18:44       ` Alan Grover

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).