home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / programming / huprolog_1 / Guide / Extras / flatten < prev    next >
Encoding:
Text File  |  1994-12-13  |  534 b   |  21 lines

  1.  
  2.  flatten([],[]).
  3.  
  4.  flatten([X|L],List) :-
  5.                      flatten_element(X,Y),
  6.                      flatten(L,M),
  7.                      conc(Y,M,List).
  8.  
  9.           flatten_element(X,[X]) :-
  10.                                  var(X),!.
  11.           flatten_element(X,[X]) :-
  12.                                  \+ list(X),!.
  13.           flatten_element(X,Y) :-
  14.                                flatten(X,Y).
  15.  list([]).
  16.  list([_|_]).
  17.  
  18.   /*
  19.    Examples ?- flatten([a,[[[b]]],[c,[d,[]],e]],L).
  20.               
  21.                L = [a,b,c,d,e].