Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 0.38 KB | None | 0 0
  1. findall(T, G, L):-
  2.     list_new(Ls),
  3.     (
  4.         findall1(T, G, Ls)
  5.         ;
  6.         true
  7.     ),
  8.     list_to_prolog(Ls, L).
  9.    
  10. findall1(T, G, Ls):-
  11.     call(G),
  12.     copy_term(T, C),
  13.     list_add(Ls, C),
  14.     fail.
  15.    
  16. findall_set(T, G, L):-
  17.     set_new(Ls),
  18.     (
  19.         findall_set1(T, G, Ls)
  20.         ;
  21.         true
  22.     ),
  23.     set_to_prolog(Ls, L).
  24.    
  25. findall_set1(T, G, Ls):-
  26.     call(G),
  27.     copy_term(T, C),
  28.     set_add(Ls, C),
  29.     fail.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement