// ------------------------------------------------------------------ // Root Object object $root var $root child 0 method initialize child = 1; . method uninitialize . method destroy if (child) destroy(this()); . method children disallow_overrides; return children(); . method descendants disallow_overrides; var kids, i, c; kids = children(); while ((| c = kids[i = i + 1] |)) kids = union(kids, c.children()); return kids; . method debug disallow_overrides; arg [what]; var l, line; line = ""; for l in (what) line = line + " " + (type(l) == 'string ? l | $parse.unparse(l)); .log("DEBUG: " + $parse.unparse(what)); . method log disallow_overrides; arg stuff; var l; if (type(stuff) == 'list) { for l in (stuff) .log(l); } else { .lwrite("[" + timestamp() + "] " + stuff); } . method lwrite disallow_overrides; arg what; log(what); .