Re: To CLOS or not to CLOS?

Pascal Costanza <[email protected]> Sat, 24 Feb 2007 18:23:25 +0100
Newsgroups gmane.comp.lang.lightweight
Message-ID <[email protected]>
No, I mentioned Smalltalk-style traits. See http://www.iam.unibe.ch/ 
~scg/Research/Traits/index.html

And no, I am not aware of an implementation in Common Lisp. I have  
played a little with the idea to see how the CLOS MOP could be used  
to implement such traits, but I see some non-trivial issues with  
multiple dispatch here. I didn't have the time yet to figure out the  
details. Without multiple dispatch, such traits would be  
straightforward to support, AFAICT.

I haven't thought about Self-style traits in Common Lisp yet. The  
inheritance of shared slots between class metaobjects can be  
considered a form of delegation, and together with class-prototype,  
you basically have some form of a prototype-based object system at  
the class metaobject level. IIUC, Self-style traits are "just" a  
programming convention, so I would guess that there is no serious  
issue here.

But take these statements with a lot of salt!


Pascal

On 24 Feb 2007, at 18:15, Matthew D Swank wrote:

> You mentioned (in another message I don't seem to have anymore) Self
> style traits as an alternative to multiple inheritance.  Are there any
> toy Common Lisp implementations of such a thing?
>
> Pascal Costanza wrote:
>>
>> On 20 Feb 2007, at 21:31, [email protected] wrote:
>>
>>>     I can agree with all of the good things you say about CLOS;  
>>> but the
>>> interesting (to me) bit is, what could be done better?  For example:
>>>
>>> - Other things I missed that experienced CLOS users would  
>>> criticize or
>>> improve if they could?
>>
>> Sure:
>>
>
> Matt
>
> -- 
> "You do not really understand something unless you can explain it to
> your grandmother." — Albert Einstein.

-- 
Pascal Costanza, mailto:[email protected], http://p-cos.net
Vrije Universiteit Brussel, Programming Technology Lab
Pleinlaan 2, B-1050 Brussel, Belgium