Orion113 wrote:
eldin raigmore wrote:
That's because Polish-notation's "and" is strictly a binary operator.
Well, I never intended for it to be a perfect emulation. That's fine.
(I kind of thought that anyway.)
Orion113 wrote:
I had thought it would be just as unambiguous if "and" and "or" took unlimited arguments, am I incorrect in that?
For me there's the possibility of a problem if the addressee can't tell where the argument-string begins and where it ends.
A somewhat less helpful solution (when the argument-string might be arbitrarily long) would be to tell how many arguments there are and where the string begins,
or how many arguments there are and where the string ends.
(If there are always exactly two arguments in the operand-string, then it's clear where the operand-string begins and where it ends, no matter whether the operator is always preposed to the first operand, or always postposed to the last operand, or always in-posed between the operands.)
If you only tell where the string begins, or only tell where the string ends, then IMO the addressee may have trouble telling what exactly the scope of the "and" or "or" "operator" is, and hence exactly what you mean.
You could tell where the string begins by always putting a conjunction just before or just after the first conjugand; and you could tell where the string ends by always putting a conjunction just before or just after the last conjugand.
The problem may be minimized, if not absent, when you have fewer than four conjugands, if the addressee knows the list is not long.
Another source for ambiguity, when you allow "and" and "or" to have arbitrarily-long argument-strings, is conjunction-within-conjunction.
That is, suppose several of the arguments of an "and"-string, happen to be "or"-strings? Or, vice-versa?
Like, how does the addressee know that
AND Abe OR Bob Charlie Dave Eddy OR Frank George Harry Ike OR John Ken Larry Mike
means
AND(Abe, OR(Bob, Charlie, Dave), Eddy, OR(Frank, George, Harry), Ike, OR(John, Ken, Larry), Mike)
?
How does s/he know it doesn't mean
AND( Abe, OR( Bob, Charlie), Dave, Eddy, OR( Frank, George), Harry, Ike, OR( John, Ken), Larry, Mike)
?
Or that it doesn't mean
AND( Abe, OR( Bob, Charlie, Dave, Eddy), OR( Frank, George, Harry, Ike), OR( John, Ken, Larry, Mike)
?
In other words, if you have an AND-list inside an OR-list, or an OR-list inside an AND-list, it's important to let the addressee know where the conjugand-string (or "disjugand"-string) ends and begins. (If you always have the operator just before the first operand, that makes it clear where the operand-string begins, but you still need to know where it ends; not a problem if you know there are always exactly two operands, but still a problem if there may be any number >1 of operands.)
So, to make a long answer short:
Orion113 wrote:
I had thought it would be just as unambiguous if "and" and "or" took unlimited arguments, am I incorrect in that?
Yes, you were incorrect in that. (Though FAIK the amiguity may be usually not much of a problem.)