Легко ли сравнивать слова?Вы должны попробовать это, когда интернационализация вовлечена, чтобы оценить, насколько трудным может быть!Гораздо проще сравнить пару целых чисел, исходя из вашей проблемы (если я понимаю вопрос).
message_on_range(1, 10:00, 12:00, 'it\'s morning!').
message_on_range(2, 18:00, 20:00, 'it\'s evening!').
comparetime(Hours, Mins) :-
message_on_range(_, Start, Stop, Message),
less_equal_time(Start, Hours:Mins),
less_equal_time(Hours:Mins, Stop),
write(Message), nl.
comparetime(_Hours, _Mins) :-
write('please check your clock!'), nl.
less_equal_time(H1:S1, H2:S2) :-
H1 == H2 -> S1 =< S2 ; H1 < H2.
Вы должны знать о функциях Prolog: ваша проблема может потребовать обрезки после печати сообщения!Т.е.
...
less_equal_time(Hours:Mins, Stop),
write(Message), nl, !.