%	The standard introductory examples to Prolog programming!
%	example query: reverse([1,2,3,4], X)?

append([A, ..B], X, [A, ..B1]) :- !, append(B, X, B1).
append([], X, X).

reverse([X, ..L0], L) :- !,
	reverse(L0, L1),
	append(L1, [X], L).
reverse([], []).
