Semantically, all top-level concrete clafers in the model are children of a synthetic root clafer. The identifier root is reserved in the same way as this or parent.
The root clafer is mostly needed for referring to top-level clafers when names are ambiguous. For example, in the following model:
test/failing/gi57.cfr
a
b ?
b ?
[ some a.b ]
[ some root.b ] // error
one can only say a.b to disambiguate. Currently (0.3.7) it is not possible to say root.b to refer to the top-level clafer. The error is
Compile error at line 7 column 13...
Name resolver: 'b' not found within paths:
in context of '"none"'
Semantically, all top-level concrete clafers in the model are children of a synthetic root clafer. The identifier
root
is reserved in the same way asthis
orparent
.The root clafer is mostly needed for referring to top-level clafers when names are ambiguous. For example, in the following model:
test/failing/gi57.cfr
one can only say
a.b
to disambiguate. Currently (0.3.7) it is not possible to sayroot.b
to refer to the top-level clafer. The error is