Salve,
ho un problema con il seguente codice

codice:
create_semantic_graph(SemanticGraph):-
	see('semantic_graph.bk'),
	EdgesList = [],
	read(A),
	create_edges_list(A, EdgesList),
	nl,nl,write(EdgesList),
	seen
.

create_edges_list(end_of_file, _) :- !.

create_edges_list(A, EL):-
	read(A1),
        write([A|EL],nl,
	create_edges_list(A1,[A|EL])
.
In pratica vorrei leggere delle linee dal file semantic_graph.bk e inserirle in una lista.
Il problema è nella variabile EdgesList: quando faccio il write(Edgeslist) in create_semantic_graph , mi stampa una lista vuota.

Durante il procedimento, la lista è costruita bene, e lo vedo tramite il write([A|EL]) all'interno di create_edges_list

E' come se la funzione create_edges_list non riesca a mandare in output EL.
E' la prima volta che scrivo in Prolog, quindi non ci capisco granchè.
Il compilatore è Sicstus Prolog.

Dove sbaglio?
Grazie.