Advertisement
elvecent

Prolog4

Oct 6th, 2016
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. rec :- consult('prog.pro').
  2.  
  3. comp(Elem1,Elem2,CompFunc) :-
  4. atom(CompFunc),
  5. Term =.. [CompFunc,Elem1,Elem2],
  6. call(Term).
  7.  
  8. even(N) :- 0 is N mod 2.
  9.  
  10. filter([],[],_).
  11. filter([H1|T1],[H2|T2],FiltFunc) :-
  12. atom(FiltFunc),
  13. Term =.. [FiltFunc,H1],
  14. call(Term), !,
  15. H1 = H2,
  16. filter(T1,T2,FiltFunc).
  17. filter([_|T],Lst,FiltFunc) :-
  18. filter(T,Lst,FiltFunc).
  19.  
  20. foldl(X,_,[],X) :- !.
  21. foldl(X,Func,[H|T],Res) :-
  22. Term =.. [Func,X,H,R],
  23. call(Term),
  24. foldl(R,Func,T,Res).
  25.  
  26. minus(A,B,C) :- C is A-B.
  27.  
  28. addHead(El,Orig,[[El|L]|T2]) :-
  29. var(Orig), !,
  30. Orig = [L|T1],
  31. addHead(El,T1,T2).
  32. addHead(_,[],Res) :- !, Res = [].
  33. addHead(El,[L|T1],[[El|L]|T2]) :-
  34. addHead(El,T1,T2).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement