RosettaCodeData/Task/Flatten-a-list/Logtalk/flatten-a-list.logtalk
Ingy döt Net db842d013d A-M baby
2013-04-10 21:29:02 -07:00

13 lines
300 B
Text

flatten(List, Flatted) :-
flatten(List, [], Flatted).
flatten(Var, Tail, [Var| Tail]) :-
var(Var),
!.
flatten([], Flatted, Flatted) :-
!.
flatten([Head| Tail], List, Flatted) :-
!,
flatten(Tail, List, Aux),
flatten(Head, Aux, Flatted).
flatten(Head, Tail, [Head| Tail]).