- (defstruct NAME SLOT ...)syntax
Alternative form of defstruct. SLOT may be any of
SLOTNAME (SLOTNAME DEFAULT) (SLOTNAME : TYPE) ((SLOTNAME DEFAULT) : TYPE)
Declares:
(: make-NAME (#!rest * -> (struct NAME))) (: NAME? (* -> boolean : (struct NAME))) (: NAME-SLOTNAME ((struct NAME) -> TYPE)) (: NAME-SLOTNAME-set! ((struct NAME) TYPE -> undefined)) (: set-NAME! ((struct name) #!rest * -> (struct name))) (: update-NAME ((struct name) #!rest * -> (struct name)))
Adds specializations as appropriate.