isList([]):-write('we got []'),nl. isList([_|T]):-write(T),nl,isList(T). /*;;isList([a,b]) //;;isList([a|[b]]) //;;isList([b]) //;;isList([b|[]]) //;;isList([]) */ isListX([]). isListX([_|T]):-isListX(T). isListY([]):-write('we got []'),nl. isListY([_,_|[A,B|T]]):-write(T),nl,isListY(T). /* [i,am,a,computer] [you,are,a,human] */ alter([],[]). alter([H1|T1],[H2|T2]):-change(H1,H2),alter(T1,T2). change(i,you). change(am,are). change(a,a). change(computer,human). change(horse,animal). change(we,you). append([],B,B). append([H|T1],B,[H|T2]):-append(T1,B,T2). listlen([],0). listlen([H|T],N):-listlen(T,N1),N is N1 +1. /* lenacc([H|T],0,N):-A1 is A +1, lenacc(T,A1,N). */ lenacc(L,N):-lenacc(L,0,N). lenacc([],A,A):- write('[]'),write(' '), write(A),write(' '), nl. lenacc([H|T],A,N):- write(H),write(' '), write(T),write(' '), write(A),write(' '), write(N),write(' '), nl, A1 is A +1, lenacc(T,A1,N).