fork download
  1. :- set_prolog_flag(verbose,silent).
  2. :- prompt(_, '').
  3. :- use_module(library(readutil)).
  4.  
  5. main:-
  6. process,
  7.  
  8. skip(_,[],[]).
  9. skip(X, [X|T], T).
  10. skip(X, [Y|T], [Y|T]) :- X \= Y.
  11.  
  12. remove_dups([], []).
  13. remove_dups([X], [X]).
  14. remove_dups([X,X|T], R) :-
  15. skip(X, T, WithoutX),
  16. remove_dups(WithoutX, R).
  17. remove_dups([X,Y|T], [X|R]) :-
  18. X \= Y,
  19. remove_dups([Y|T], R).
  20.  
  21. process:-
  22. remove_dups([1,1,2,2,3,4,5,5,6], T),
  23. write(T),
  24.  
  25. :- main.
Success #stdin #stdout 0.02s 31920KB
stdin
Standard input is empty
stdout
[3,4,6]