!7 sS script1 = "Assert (True)."; sS script2 = "Assert (False)."; sS script = [[ Make an empty thought space X. Assert (X is empty). Add (God is good) to X. Assert (Not (X is empty)). Apply rule (Remove (God is good)) to X. Assert (X is empty). ]]; sS bla = [[ // concepts zivsiiacmvqrolto - True zqbbvhdeuzyhewed - False jamvyfwypzbptvle - Make an empty thought space X. yvmxaacduvvomgqi - X is empty rzryqdohxtczvzgn - Assert (X). ]]; // head -> voidfunc(Lisp) static new HashMap executors; p { myTruth(bla); lispStandardEvaluators(); // Assert (X). executors.put("rzryqdohxtczvzgn", voidfunc(Lisp l) { l = l.get(0); if (!isTrue(callLispEvaluator(l))) fail("Not true: " + l); }); assertScriptSucceeds(script1); assertScriptFails(script2); assertScriptSucceeds(print(xyzToNewIDs(script))); print("OK"); } svoid assertScriptSucceeds(S script) { for (Lisp cmd : linesToLisp(script)) { O executor = executors.get(cmd.head); if (executor == null) fail("No executor for " + cmd); callF(executor, cmd); } } svoid assertScriptFails(fS script) { assertFail_verbose(r { assertScriptSucceeds(script); }); }