[slime-devel] Slime support for metaclasses...

Hi, I have seen a discussion on slot-boundp / slot-makunbound and their MOP counterparts. I have tried to respond, but wasn't subscribed to this mailing list yet. This time I should get through... Most CLOS MOP implementations indeed specialize the third arguments in the slot-xxx-using-class generic functions on slot definition metaobjects. There are two exceptions (one is well known, the other probably not so much): - LispWorks specializes on slot names. This is probably because the switch from slot names to slot definition metaobjects in the slot-xxx- using-class functions was a very late change in the CLOS MOP specification, and the LispWorks CLOS implementation seems to be based on some older version of PCL (?!?). - Allegro specializes slot-value-using-class and (setf slot-value- using-class) on slot definition metaobjects, BUT specializes slot- boundp-using-class and slot-makunbound-using-class on slot names!!! This is not documented anywhere, so it's probably a source of confusion. (I have only accidentally found out about this. I have already filed a bug report with Franz.) I don't know exactly the context of your discussion, but you could use the Closer to MOP compatibility layer which fixes the slot-xxx- using-class functions for LispWorks and Allegro so that all slot-xxx- using-class functions are specialized on slot definition metaobjects. However, this may have other drawbacks that I cannot judge from here... Cheers, Pascal -- Pascal Costanza, mailto:pc@p-cos.net, http://p-cos.net Vrije Universiteit Brussel, Programming Technology Lab Pleinlaan 2, B-1050 Brussel, Belgium
participants (1)
-
Pascal Costanza