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 ?


>>>>> "Christian" == Christian Lynbech on satellite <chl@tbit.dk> writes:

>>>>> "Michael" == Michael N Livshin <mike@olan.com> writes:
    Michael> I understand that Tiny-CLOS's (and STk's) generics don't
    Michael> take any module system into account, and so using them
    Michael> sorta defeats the module system.

    Christian> This is from memory, so it may not be quite accurate,
    Christian> but Bernard Urbans port of tiny-clos (which can be
    Christian> found at red-bean) does in fact sort of use modules.

Yes, but it is a dirty hack. I have currently a much cleaner stklos
port, which uses modules more consistently, and with
a mixture of hobbit compiled code and unexeced code.
Unexeced code gives a fast start-up and tiny initialization time, and
compiled code contributes to good speed after that.
I will probably release it in a few days. 

    Christian> The `define-generic' macro expands into a
    Christian> `define-public' rather than just a `define'.

    Christian> I do not know enough about the module system to say
    Christian> what the precise implication of this is, but it most
    Christian> likely do not implement the full module awareness as
    Christian> you define it.

Absolutely true. I do not know if the wished behaviour is so
important in practice, as it may be sufficient to have the module system control
the classes. If a generic has methods for class_A and class_B,
respectively defined (publicly) in modules A and B, if module B is not in use,
you have no way (until cheating heavily with generic-methods and 
method-specializers) to give an instance of class_B to the generic.

--

B. Urban