slots vocabulary
Factor handbook ยป Vocabulary index


Documentation
Low-level slot operations

Metadata
Authors:Slava Pestov


Words

Tuple classes
ClassSuperclassSlots
bad-initial-value tuplename initial-value class
bad-slot-attribute tuplekey
bad-slot-value tuplevalue class
slot-spec tuplename offset class initial read-only


Predicate classes
ClassSuperclass
reader word
reader-method method
writer word
writer-method method


Generic words
WordStack effect
initial-value*( class -- object ? )
instance-check-quot( obj -- quot )
make-slot( desc -- slot-spec )
reader-quot( class slot-spec -- quot )
writer-quot( class slot-spec -- quot )


Ordinary words
WordStack effect
<slot-spec>( -- slot-spec )
bad-initial-value( name initial-value class -- * )
bad-slot-attribute( key -- * )
bad-slot-value( value class -- * )
changer-word( name -- word )
check-initial-value( slot-spec -- slot-spec )
check-slot-value( value slot -- )
define-accessors( class specs -- )
define-changer( name -- )
define-protocol-slot( name -- )
define-reader( class slot-spec -- )
define-reader-generic( name -- )
define-setter( name -- )
define-slot-methods( class slot-spec -- )
define-typecheck( class generic quot props -- )
define-writer( class slot-spec -- )
define-writer-generic( name -- )
finalize-slots( specs base -- specs )
init-slot-class( slot-spec class -- slot-spec )
initial-value( class -- object ? )
make-slots( slots -- specs )
peel-off-attributes( slot-spec array -- slot-spec array )
peel-off-class( slot-spec array -- slot-spec array )
peel-off-name( slot-spec array -- slot-spec array )
reader-props( slot-spec -- assoc )
reader-word( name -- word )
setter-word( name -- word )
slot-named( name specs -- spec/f )
slot-named*( name specs -- offset spec/f )
writer-props( slot-spec -- assoc )
writer-word( name -- word )


Class predicate words
WordStack effect
bad-initial-value?( object -- ? )
bad-slot-attribute?( object -- ? )
bad-slot-value?( object -- ? )
reader-method?( object -- ? )
reader?( object -- ? )
slot-spec?( object -- ? )
writer-method?( object -- ? )
writer?( object -- ? )


Files


Metadata files


Children from resource:basis
VocabularySummary
slots.syntax


Children from resource:extra
VocabularySummary
slots.macrosMacro interface to accessors