12 lines
234 B
Prolog
12 lines
234 B
Prolog
|
|
empty(U-V) :-
|
||
|
|
unify_with_occurs_check(U, V).
|
||
|
|
|
||
|
|
push(Queue, Value, NewQueue) :-
|
||
|
|
append_dl(Queue, [Value|X]-X, NewQueue).
|
||
|
|
|
||
|
|
% when queue is empty pop fails.
|
||
|
|
pop([X|V]-U, X, V-U) :-
|
||
|
|
\+empty([X|V]-U).
|
||
|
|
|
||
|
|
append_dl(X-Y, Y-Z, X-Z).
|