Я хочу рекурсивно хранить семейные отношения в структуре списка.У меня есть следующий код:
descendantTree(X,[X]) :-
\+ parent(X,_).
descendantTree(X,L) :-
forall(parent(X,Y), descendantTree(Y,YL)),
append([X],[YL],L).
parent(john, paul).
parent(john, mary).
parent(paul, henry).
parent(paul, june).
parent(mary, adam).
parent(henry, helen).
То, что я ожидал, выглядит так:
L =[john,[paul,[henry,[helen]],[june]],[mary,[adam]]]
Но на самом деле он просто возвращает:
L = [john, _9250].
Не могли бы вы сказать мне, почему