[armedbear-devel] SLOT-VALUE and SLOT-VALUE-USING-CLASS with	DEFSTRUCT
    Tobias C Rittweiler 
    tcr at freebits.de
       
    Fri Jun 18 04:41:18 UTC 2010
    
    
  
> I committed (r12756) a simple implementation of SLOT-VALUE and friends
> (setf slot-value, slot-boundp, slot-makunbound) for structures. It
> searches for slots by iterating through the list of slot names stored
> in the structure-class, which is probably not very good
> performance-wise (CLOS objects use a map). Structure slots are
> initialized to NIL and can't be unbound, and
> slot-boundp/slot-makunbound reflect this.
> 
> I also added the necessary autoloads to autoloads.lisp.
> 
> Bye,
> Alessio
Regarding the initialization, this is not quite true; CLHS 
defstruct says
  If a slot is not initialized in this way, it is initialized by
  evaluating slot-initform in the slot description at the time the
  constructor function is called. If no slot-initform is supplied, the
  consequences are undefined if an attempt is later made to read the
  slot's value before a value is explicitly assigned.
As consequences are undefined, always returning NIL is compliant,
but you could also make it signal an error, and make SLOT-BOUNDP
cover this case.
  -T.
    
    
More information about the armedbear-devel
mailing list