18/08/03 20:39:39.00 STrKxFQ8.net
再帰呼び出しでのプログラミングってパズルだな。
Proglog:
evenlength([]).
evenlength([_,_|X]) :- evenlength(X).
oddlength([_]).
oddlength([_,_|X]) :- oddlength(X).
reverse([],[]).
reverse([X|L],Z) :- reverse(L,Y), append(Y,[X],Z).
R:
evenlength <- function(x) !(length(x)%%2)
oddlength <- function(x) !!length(x)%%2
reverse <- funciton(x) rev(x)