Не то чтобы я хотел хвалить себя — или, может быть, хочу? — но это действительно работает как шарм.
Напоминаю: мой А.И. database сохраняет любой объект Java без малейших усилий.
Вот еще несколько примеров:
concept Solution { S input, output; }
concept Verified { new Ref<Solution> solution; }
abstract concept Function {
abstract S get(S s);
bool dangerous;
}
concept TrimLeadingPunctuation extends Function {
S get(S s) {
ret s.replaceAll("^[. ]+", "");
}
}
concept RemoveLeadingFillers extends Function {
L<S> fillers;
S get(S s) {
s = uniq(TrimLeadingPunctuation).get(s);
S word = leadingWord(s);
if (containsIgnoreCase(fillers, word))
s = dropPrefix(word, s);
ret uniq(TrimLeadingPunctuation).get(s);
}
}
Задача состоит в том, чтобы упростить пользовательские предложения… например, преобразовать «э… да» в просто «да».
Нескольких строк выше достаточно, чтобы представить примеры ввода/вывода и функции, решающие задачу. «Концепция» — это просто класс Java, готовый к сохранению. Обратите внимание, что вы можете добавлять методы экземпляра к понятиям так же, как вы обычно это делаете с любым классом Java. Это действительно святой Грааль — настойчивость без каких-либо усилий.