fork(6) download
  1. member(X,[X|_]) :- !.
  2. member(X,[_|T]) :- member(X,T).
  3. set(A,B) :- set(A, B, []).
  4. set([],[],_).
  5. set([H|T],[H|Out],Seen) :- not(member(H,Seen)), set(T,Out, [H|Seen]).
  6. set([H|T],Out, Seen) :- member(H,Seen), set(T,Out,Seen).
  7.  
  8. :- set([a,b,a,c,b,a], R), write(R), nl.
Success #stdin #stdout #stderr 0.02s 6204KB
stdin
Standard input is empty
stdout
[a, b, c]
stderr