The dependency hierarchy (d-hierarchy) is another structure of GOs in one
page. If a GO1's anchor hangs on GO2's hanger, then
GO1 is d-smaller than GO2 and GO1 is a d-child of
GO2.
The d-hierarchy is an ordering over objects of the go kind in one page. This ordering can be also viewed as a directed acyclic graph (where nodes are objects of the go type).
(d-parent go id)
go symbol ->
go
Returns the go's parent which is accessible through the anchor named
id.
(d-children go id)
go symbol ->
list
Returns the subset of go's children which are accessible through
the hanger named id.
(d-all-parents go)
go ->
list
Returns all parents of go.
(d-all-children go)
go ->
list
Returns all children of go.
(d-set-parent! g1 k1 g2 k2)
go symbol go symbol ->
unspecified
Rehangs g1's anchor named k1 on g2's hanger named
k2, so g2 becomes a parent of g1. Must be called in an appropriate transaction.