リスト要素の連続した重複を排除します。
これに対する私の解決策は次のとおりです。
compress([X,X|Xs], Q) :-
compress([X|Xs], Q).
compress([X,Y|Xs], Q) :-
X \= Y,
compress([Y|Xs], QR),
append([X], QR, Q).
compress([X|[]], Q) :-
compress([], QR),
append([X], QR, Q).
compress([], []).
そして、私は初心者であり、論理パラダイムの経験がないため、改善できる点と、なぜ私の解決策がうまくいかないのかを教えてください.
たとえば、X \= Y
私にはきれいに見えません。