-- main.mcl -- $x = "i am x" # i am top-level class c2() { $z = "i am y and " + $x #$x = $x # not allowed $tmpx = $x # this $x is actually from below, not from the parent scope! #$x = $x + "wow" # allowed? $x = $tmpx + "wow" # circular with itself ($x) in this scope! } 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