-- main.mcl -- $x = "i am x" # i am top-level class c2() { $z = "i am y and " + $x # Since $x is pulled in from top-level automatically, we don't allow the # re-definition by shadowing of the same variable. $x = $x # not allowed #$x = $x + "wow" # allowed? } include c2 as f1 test "${f1.z}" {} test "${f1.x}" {} # tricky test "${f1.newx}" {} -- OUTPUT -- # err: errSetScope: recursive reference while setting scope: not a dag