/* reverse(Xs,Ys) :- Ys is the reversal of the list Xs. */ :- op(40,xfx,\). reverse(Xs,Ys) :- reverse_dl(Xs,Ys\[]). reverse_dl([X|Xs],Ys\Zs) :- reverse_dl(Xs,Ys\[X|Zs]). reverse_dl([],Xs\Xs). % Program 15.3: Reverse with difference-lists.