文が回文かどうかを判断するプログラムを作成しようとしています。これは私がこれまでに持っているものです:
palindrome :- write('Sentence: '),
read(Word),
name(Word,List),
palCheck(List).
palCheck(List) :- reverse(List,List).
reverse(L1,L2) :- rev(L1,[],L2).
rev([],L,L).
rev([H|L],L2,L3) :- rev(L,[H|L2],L3).
私が抱えている問題は、スペースまたは大文字に到達したときです。私が最終的に望んでいるのは、DoD dod を書き、それを通過させることです。downcase_atom(X,Y) を使ってみたのですが、文がアトム以外なので使いづらいです。