Взаимосвязанные структуры данных в эрланге
Привет я хочу сделать дерево, которое хранит двусторонние ссылки между родителями и детьми. Но кажется невозможным достичь этого, так как когда я создаю первый объект, у меня нет другого, поэтому я не могу иметь ссылку на него. Вот пример кода.
-record(node,{name,children,root}).
main()->
A = #node{name="node-A",
children=[B], %variable B is unbound
root=nil},
B = #node{name="node-B",
children=[],
root=A},
Tree = A.
Другим примером этой проблемы может быть реализация двусвязного списка (http://en.wikipedia.org/wiki/Doubly_linked_list)
-record(node,{prev,name,next}).
main()->
A = #node{prev=nil,
name="node-A",
next=B}, % variable B is unbound
B = #node{prev=A,
name="node-B",
next=nil},
LinkedList = A.
Есть ли способ реализовать такую структуру.