charlist([],[]). charlist([X],Y) :- atomic(X),name(X,Y). charlist([F,','|Rest],L) :- name(F,L1), charlist(Rest,L2), append(L1,[44|L2],L), !. charlist([F|R],L) :- name(F,L1), charlist(R,L2), append(L1,[32|L2],L). append([],L,L). append([X|Y],L1,[X|L]) :- append(Y,L1,L).