Пролог списки (с использованием функции stemming) - PullRequest
0 голосов
/ 07 января 2012

Я знаю, что это очень простой вопрос, но у меня, похоже, есть некоторые проблемы.

Я пытаюсь составить список слов, используя porter_stem, но получаю ошибку:

вне локального стека

Это мой код:

stemming([],[]).
stemming([H|T], A) :-
    stemming(T,Answer),
    porter_stem(H,S),
    append(Answer,S,A).

В основном псевдокод для этого выглядит следующим образом:

for all items in list
    stem item
    add item to list2
    return list2

Может кто-нибудь, пожалуйста, укажите мне в правильном направлении, пожалуйста?

1 Ответ

1 голос
/ 08 января 2012

Рассмотрите возможность использования maplist/3 или эквивалентного в зависимости от вашей реализации пролога: будет достаточно что-то вроде maplist(porter_stem, List, Result)..

Если вам интересно узнать, как построить правильную рекурсию, оставьте комментарий, и я постараюсь расширить свой ответ:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...