!7 cmodule ELEPrefixSuffixSplitter > DynPrintLog { /*transient LS prefixes = ll("un", "pre"), suffixes = ll("able", "like", "ology", "ing", "y", "ist", "ism");*/ start { dm_onUserUtteranceWithoutMine(input -> pnl(transitiveHullIteratorOfFunction(s -> stringEmits(r { processInput(s) })))); } void processInput(S input) { print(input); for (S s : mL("Common prefixes")) if (swic(input, s)) emit(joinPairWithSpace(pairOfNFirstAndRest(input, l(s)))); for (S s : mL("Common suffixes")) if (ewic(input, s)) emit(joinPairWithSpace(pairOfRestAndNLast(input, l(s)))); } }