From: Matthew D Swank
Subject: Mixins and MI
Date: 
Message-ID: <pan.2007.03.03.23.14.56.448540@c.net>
So, related to a discussion on ll-discuss last month, I've been reading
about traits.  Invariably mixins and multiple inheritance (MI) come up as
alternate approaches to solve the kind of problems that traits address. 

However, in CLOS MI is frequently used as mechanism to define mixins. 
Could someone give me the kindergarten version of the difference btw
mixins in Flavors and classes used as mixins in CLOS?

Thanks,

Matt

-- 
"You do not really understand something unless you can
 explain it to your grandmother." — Albert Einstein.
From: ······@corporate-world.lisp.de
Subject: Re: Mixins and MI
Date: 
Message-ID: <1172972202.247387.141280@n33g2000cwc.googlegroups.com>
On 4 Mrz., 00:14, Matthew D Swank <akopa-is-very-much-like-my-mail-
·······@c.net> wrote:
> So, related to a discussion on ll-discuss last month, I've been reading
> about traits.  Invariably mixins and multiple inheritance (MI) come up as
> alternate approaches to solve the kind of problems that traits address.
>
> However, in CLOS MI is frequently used as mechanism to define mixins.
> Could someone give me the kindergarten version of the difference btw
> mixins in Flavors and classes used as mixins in CLOS?
>
> Thanks,
>
> Matt
>
> --
> "You do not really understand something unless you can
>  explain it to your grandmother." - Albert Einstein.

There is not that much difference wrt. mixins.

Usually with a mixin you will not make instances of the mixin. Flavors
is a bit more descriptive in some areas. In Flavors you can declare a
flavor to be abstract (so you cannot create instances). There are some
other useful declarations as well. In CLOS you can't directly declare
a class to be abstract.

Some Lisp-based OO-systems similar to Flavors (and CLOS) did support
single class inheritance and thinheritance from multiple abstract
classes (Mixins).