This is the mail archive of the guile@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: CLOS-style MOP for Guile ?



While on the subject of CLOS:

What is the consensus (if any) regarding the interaction of CLOS
generics and the module system?

I understand that Tiny-CLOS's (and STk's) generics don't take any
module system into account, and so using them sorta defeats the
module system.

Here is what I consider proper generic <-> module system interaction:

(define-module (my-module)
 #:use-modules (used1) (used2))

(define-generic-method some-known-generic (<myclass>...)
  (do-stuff))

1. In (my-module), some-known-generic has a method for <myclass> and
   also has all the methods that were added to it in (used1) and (used2).

2. In (used1) or (used2), some-known-generic is *not* extended for <myclass>.

BTW, how does Common Lisp deal with this interaction? (I'm somewhat far
from any technical library right now, but online pointers are appreciated).