Prolog unpacking lists predicate
prolog
Solution
You probably meant:
unpacking([], []).
unpacking([[E]|T], [E|L]) :-
unpacking(T, L).
unpacking([[]|T], L) :-
unpacking(T, L).
unpacking([[_,_|_]|T], L) :-
unpacking(T, L).
There are more concise ways to write this - and more efficient, too.
Problem
I tried to create something what would work like this: ``` ?- unpacking([[1], [1,2], [3]], Lst1, NewLst). NewLst=[1,3] ``` I wrote it like this: ``` unpacking([], Lst1, Lst1). unpacking([[H]|T], Lst1, NewLst):- append([H], Lst2), unpacking(T, Lst2, NewLst). unpacking([_|T], Lst1, NewLst):- unpacking(T, Lst1, NewLst). ``` and I know that I am doing something wrong. I am starting in Prolog so, need to learn from my mistakes :)