Hi Stavros. I think I might be missing what you're really trying to get at. I think the results of all of your examples are expected, given that xreduce is defined and documented to behave like lreduce when given a function without the nary property. This includes your xreduce examples with "." since (as you point out) it doesn't currently have the nary property. Are you asking if we should give more nary functions the nary property?
Thanks Robert. I already have a patch that includes tests for the others as well, but it (like my patch above) appears to be slightly mangled in the "code view" here in the posts. Maybe something I'm doing wrong. I was going to come back later today to try to figure out why before posting, but I'll just go ahead and post it anyway. This covers lreduce, rreduce, xreduce, and tree_reduce, for all of the cases of empty/nonempty lists and with/without init args. diff --git a/tests/rtestnset.mac b/tests/rtestnset.mac...
Docs: add union as a nary function handled specially by xreduce
xreduce with init arg and declared nary function
MFUNCTION-CALL: warn when calling a Maxima special form
MFUNCTION-CALL-WARN: use Maxima symbols for the warning types
MFUNCTION-CALL-WARN: use more consistent messages and plist keys
Update comments