p(a).
p(b).

q(b).

% infinite loops in Prolog
q :- q.
q.

last([_|R],E) :- last(R,E).
last([E],E).

% Loops infinitely in Prolog:
% ?- last(L,3).
