!7 p-exp { L rules = map nlLogic_parseRule(splitAtEmptyLines(mL_raw("Fact-to-fact rules"))); final new NLLogicChecker_v3 c; c.matcher = new NLStringMatcher_dollarVars_underscores; c.facts = mL("Random facts"); final new NLLogicChecker_v2.Matching m; final new LinkedHashSet outFacts; for (IfThen rule : rules) c.iterate(rule.in, m, r { print("Got matches: " + sfu(m.matches)); Exp out = c.apply(rule.out, m); if (out cast Func) if (eq(out.name, "fact")) outFacts.add(out); }); pnl(outFacts); }