# Copyright 2005-2008 Kevin Reid, under the terms of the MIT X license # found at http://www.opensource.org/licenses/mit-license.html ................ def FinalSlot := .asType() def Same := def checkerAuditor { to audit(audition) { for noun => slot in ["true" => &true, "float64" => &float64] { require((def g := audition.getGuard(noun)) == Same[slot], fn { `$noun's guard isn't Same[$slot], but $g` }) } # These guards are not Same[slot] because these things are private to the emaker, and so it is not necessarily-harmless to reveal them to auditors. for noun in ["trace", "traceln", "ExitViaHere"] { require((def g := audition.getGuard(noun)) == FinalSlot[DeepFrozen], fn { `$noun's guard isn't FinalSlot[DeepFrozen], but $g` }) } return false } } def dummy implements checkerAuditor { to run() { true; float64; trace; traceln; ExitViaHere } } "ok"