MAPCAR - back to content

	maplist/3: applies a function of one argument to each element of a list
		
		?- maplist(inc,[2,3],L).
		L = [3,4]
		?- maplist(square,[2,3],L).
		L = [4,9]

		inc(N,R):- R is N + 1.
		square(N,R):- R is N * N.

		mymap(F,[],[]).
		mymap(F,[H|T],[R|RT]):- R is F(H),mymap(F,T,RT).

maplist/4 for two lists ?- maplist(plus,[1,3],[4,6],R). R = [5,9]. ?- add_vectors([1,3],[4,6],R). R = [5,9]. plus(X,Y,Z):- Z is X + Y. add_vectors(V1,V2,R):- mapcar1(plus,V1,V2,R). mymap(F,[],[],[]). mymap(F,[H1|T1],[H2|T2],[H3|T3]):- H3 is F(H1,H2),mymap(F,T1,T2,T3).