static O generalLispEval(Lisp l) { if (l == null) null; S evaluator = first(followForwardRelation_raw("mssmzemxxztdpphw", l.head)); if (evaluator != null) ret conceptCall(evaluator, map(f generalLispEval, l)); if (l.isLeaf()) for (Lisp rule : lispTruth2("yrxfddfomyzlqwri")) if (isTrue(callConcept(rule.raw(0), l.head))) ret callConcept(rule.get(1), l.head); fail("Can't evaluate " + l); }