!7 sclass SmartAnswerMachine1 > DynPrintLog { transient new CopyOnWriteArrayList log; void start { // load cat log log.addAll(map words(katze_getFullLog())); print("Have log entries: " + l(log)); onSpeechRecognized(voidfunc(S s) { think(s) }); } void think(S s) { L l = ai_applyPrefixPairs(overlappingPairs(log), words(s)); if (empty(l)) print("\n" + s + " => no candidates\n"); else { print("\n" + s + " => candidates:\n"); printIndent(lines(map joinWithSpace(l))); } } }