For every slot named, say, attr in the node-attributes, edge-attributes, and graph-attributes tuples, a generic word named =attr is defined with the stack effect ( graphviz-obj val -- graphviz-obj' ).
In each such =attr word, val must be an object supported by the present word, which is always called on val before it's stored in a slot.
These generics will "do the right thing" in setting the corresponding attribute of graphviz-obj.
For example, since graph-attributes has a label slot, the generic =label is defined, along with methods so that if graphviz-obj is a...
USING: continuations graphviz graphviz.notation io kernel ;
<graph>
! This is OK:
"t" =labelloc
! This is not OK:
[ 1 2 <edge> "b" =labelloc add ]
[ drop "not for edges!" write ] recover drop not for edges!
For the full list of attribute-setting words, consult the list of generic words for the graphviz.notation vocabulary.