Is there anything like variadic parameters in datastructures in rule heads. For example, suppose we have
transform(tok(noun ,_ ,_ ,_ ,_ ,_), B) :- f(B). % << boring
could it be written:
transform(tok(noun, ...), B) :- f(B). % << boring
for some atom ‘…’?
Its a very painful and error prone process to revisit each occurrence when tok needs to change from arity 6 to arity 7 in many rules.
Alternatively, how might I validate each tok has arity 7 and produce a sensible error with a source file reference?