RosettaCodeData/Task/Permutations/Prolog/permutations-5.pro

6 lines
154 B
Prolog

insert(X, L, [X|L]).
insert(X, [Y|Ys], [Y|L2]) :- insert(X, Ys, L2).
permutation([], []).
permutation([X|Xs], P) :- permutation(Xs, L), insert(X, L, P).