% Author:
% Date: 03/11/2010
% Flatten

/* e.g. flatten([[[3,c],5,[4,[]]],[1,b],a],[3,c,5,4,1,b,a]).               */

aplatir([],[]).

aplatir([X|L],F) :-
                         aplatir(X,Xs),
                         aplatir(L,Ys),
                         append(Xs,Ys,F).

aplatir([X|L],[X|L1]) :-
                         \+ is_list(X),
                         aplatir(L,L1).
