!7 sclass MatchInput > DynPrintLogWithInput { transient Pair> lastResults; start { dm_useLocallyCopiedMechLists(); } void update(S s) { L tokInput = printStruct(javaTokWithAngleBracketsC(s)); L results = ai_parser1(s, ""); results.addAll(ai_parser1(s, "")); results = takeFirst(10, parseResultsByNumberOfAssumptions(results)); S rendered = ai_renderParseResults(results); bool shouldPrint = lastResults == null || neq(rendered, ai_renderParseResults(lastResults.b)); lastResults = pair(s, results); if (shouldPrint) print("\n> " + s + "\n" + rendered); } }