

Example
?- comma_list((a,b,c,d),X). X = [a, b, c, d]. ?- comma_list((a,b,(c,d)),X). X = [a, b, c, d]. ?- comma_list(((a,b),(c,d)),X). X = [a, b, c, d]. ?- comma_list(((a,b),c,d),X). X = [a, b, c, d]. ?- comma_list((((a,b),c),d),X). % associated left on input X = [a, b, c, d]. ?- comma_list(XL,[a,b,c,d]),write_canonical(XL). % associated right on output ','(a,','(b,','(c,d))) XL = (a, b, c, d).