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.