Есть небольшое задание: написать предикат проверки списка. Список имеет следующий вид:
[a,a,a,a,…,a,b,…,b]
Предполагается использование Arity Prolog, но, наверное, это не имеет особого значения.
Я написал вот что (не работает):
check([H|T]):- identity(T,H).
identity([H|T],H):- identity(T, H).
identity([H|[HT|T]],HT):- identity_(T,HT).
identity_([], _).
identity_([H|T], H):- identity_(T, H).
P.S. Никак не могу забыть про императивный стиль программирования.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>