list_reversed(Xs, Ys) :-
list_reversed(Xs, Ys, []).
list_reversed([], Ys, Ys).
list_reversed([X|Xs], Ys0, Ys) :-
list_reversed(Xs, Ys0, [X|Ys]).
:- pe list_reversed([X1,X2,X3,X4,X5,X6,X7,X8|Xs], Ys).
@@ list_reversed([B,C,D,E,F,G,H,I|J], A) :-
@@ 'list_reversed.1'(B, C, D, E, F, G, H, I, J, A).
@@
@@ % 'list_reversed.1'(A,B,C,D,E,F,G,H,I,J):-list_reversed([A,B,C,D,E,F,G,H|I],J)
@@ 'list_reversed.1'(A, B, C, D, E, F, G, H, I, J) :-
@@ list_reversed2(I, J, H, G, F, E, D, C, B, A, []).
@@
@@ % list_reversed2(A,B,C,D,E,F,G,H,I,J,[]):-list_reversed(A,B,[C,D,E,F,G,H,I,J])
@@ list_reversed2([], [A,B,C,D,E,F,G,H|I], A, B, C, D, E, F, G, H, I).
@@ list_reversed2([K|L], A, B, C, D, E, F, G, H, I, J) :-
@@ list_reversed2(L, A, K, B, C, D, E, F, G, H, [I|J]).
----- n599 ------------------------
Ok, so in this case, the specialization does not really improve the
program. In each inference, the program now shifts around all
arguments.
I/O.
[logprog|GUPU|UWN]