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:

> Suggested new solution:
> 
>   GFs in different modules are distinct objects, but GFs whose names
>   "meet" through the module system share methods."
> 
> More precisely:
> 
> 1. Every module has it's own GF object.
> 
> 2. Each GF refers to a "pool" of methods.
> 
> 3. Many GFs can refer to the same pool of methods.
> 
> 4. If a method is added to one GF, it is visible for all other GFs
>    using the same pool.
> 
> 5. Each GF created by `define-generic' initially has a private pool.
> 
> 6. Exporting GF1 bound to NAME in module A to module B means binding
>    GF0 to name NAME in module B and letting GF0 and GF1 refer to the
>    same pool.
> 
> 7. Exporting GF1, GF2, ..., GFn bound to NAME in modules A1, A2, ...
>    to module B means binding GF0 to name NAME in module B and letting
>    GF0, GF1, ..., GFn refer to the same pool.

Two questions now:

* Is this semantics too complex and obscure?

* How do we combine this with separate compilation of modules?
  (This is an interesting question also with regard to the current
  GOOPS.)

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