True when Dicts and Compounds are lists of the same length and
each element of Compounds is a compound term whose arguments
represent the values associated with the corresponding keys in
Keys. When converting from dict to row, OnEmpty is used to
compute missing values. The functor for the compound is the same
as the tag of the pair. When converting from dict to row and the
dict has no tag, the functor row
is used. For example:
?- Dicts = [_{x:1}, _{x:2, y:3}],
dicts_to_compounds(Dicts, [x], dict_fill(null), Compounds).
Compounds = [row(1), row(2)].
?- Dicts = [_{x:1}, _{x:2, y:3}],
dicts_to_compounds(Dicts, [x,y], dict_fill(null), Compounds).
Compounds = [row(1, null), row(2, 3)].
?- Compounds = [point(1,1), point(2,4)],
dicts_to_compounds(Dicts, [x,y], dict_fill(null), Compounds).
Dicts = [point{x:1, y:1}, point{x:2, y:4}].
When converting from Dicts to Compounds Keys may be computed by
dicts_same_keys/2.