This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Trouble understanding define (!)


Mikael Djurfeldt <mdj@mdj.nada.kth.se> writes:

> The Scheme solution corresponding to Kiczales' paper would probably be
> to have a special module containing all generic functions.  This is
> because the paper is not considering use of the package system.
> 
> But, I gather that if Common LISP people are using their symbol-level
> package system, they get into exactly the same problems as we when we
> combine the current GOOPS with our module system.  Could some Common
> LISP/CLOS person verify this?

I had a look at the paper again and found that Kiczales' actually deal
with the package system, but the rules imposed on the class library
user actually gives a result similar to what we have now in GOOPS,
only stricter.

> I don't see it as a problem if g:draw and card:draw above would be
> merged into a single GF.

If both have a method specialized to the same class, or, even more
insidious, one is specialized to a class "shadowing" the other, there
will be a problem.

Please comment on the discussion so far.

During the coming weekend, I'll try to write a proposal with some more
thought behind.  It seems to me now that my current proposal is too
dangerous and will lead to strange bugs.  But, if it is actively
enforced (meaning GOOPS does assertions) with Kiczales' rules and
maybe complemented with a few more having to with our wish to be even
more permissive than Kiczales, it might work.

There is also still the alternative to do as Michael suggested:
leaving GF management to the user but treat accessors specially.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]