% mylast(?Lst, ?Last) - return last element of a list
%

mylast([A],A).
mylast([H|T],Last):-mylast(T,Last).

%my_reverse(+Lst, ?Rev) - reverse Lst
%

my_reverse([],[]).
my_reverse([A],[A]).
my_reverse([H|T],Rev):-my_reverse(T, RevT),
			append(RevT, [H], Rev).

my_pal(A):-my_reverse(A,A).

my_flatten([],[]).
my_flatten([H|T], B):-is_list(H),
			append(FlatH, FlatT, B),
			my_flatten(H, FlatH),
			my_flatten(T, FlatT).
my_flatten([H|T], [H|FlatT]):-	my_flatten(T, FlatT).
			
