RosettaCodeData/Task/Flatten-a-list/Logtalk/flatten-a-list.logtalk
2023-07-01 13:44:08 -04: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]).