On 4 Aug 2014, at 10:44, Jean-Claude Beaudoin <jean.claude.beaud...@gmail.com> wrote:
> > On Sun, Aug 3, 2014 at 12:50 PM, Pascal Costanza <p...@p-cos.net> wrote: > > - One reason why the change from slot name to slot definition metaobject was > made is that it allows for better optimization of standard slot accesses that > don’t need to go through user-defined methods on s-v-u-c and friends. In > LispWorks, you need one extra step to invoke user-defined methods - you have > to specify that slot access should not be optimized. In your example, the > class definition for ‘foo should look like this to achieve this: > > (defclass foo () > ((a :accessor foo-a :initarg :a) > (b :accessor foo-b :initarg :b)) > (:metaclass tracked-class) > (:optimize-slot-access nil)) > > > I see. And are you cool with the pervasive opt-out nature of this > :optimize-slot-access option? > Looks pretty much like a quite clear rejection of the MOP slot protocol to me. It’s a trade off, speed vs flexibility. It doesn’t really restrict you in any way, because you can always opt in. So I think it’s perfectly ok. If you don’t like it, there is Closer to MOP, which leaves optimize-slot-access at t when it can, but sets it to nil if necessary, so you don’t really have to worry that much. > Personally, I don’t believe that forward-referenced-class or > ensure-class-using-class are the most important areas that need fixing. There > are other issues that are more relevant. > > Quite of a cliffhanger you've done here! Are we going to be treated with a > sequel on the very subject of those issues? Maybe. ;) Pascal -- Pascal Costanza The views expressed in this email are my own, and not those of my employer.
_______________________________________________ pro mailing list pro@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/pro