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:
[ 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"'
fixed issue #57
fixed issue #57 for choco generator