Пролог Основы сжатия списка - PullRequest
0 голосов
/ 04 июня 2018

Может кто-нибудь объяснить логическую разницу в этих 2 программах, которая приводит к разным результатам?(программа2 отлично работает для сжатия, а программа1 - нет)

программа1:

compress(x, x).
compress([x|Tail], [x|Tl]) :-
    compress(Tail, [x|Tl])
;   compress(Tail, Tl).

программа2:

compress([], []).                    
compress([Head, Head|Rest], Out):-                          
   compress([Head|Rest], Out).
compress([Head|Tail], [Head|Out]):-  
   compress(Tail, Out).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...