jack: (Default)
[personal profile] jack
So, in some programming languages I can say:

x=y=0

To mean "Set y equal to nought and x equal to that[1]". In others, you'd get "Set x equal to one if y is already zero, else zero."

But in what language can I say:

if (x===y==0)

to mean "if x and y are both zero"?

The obvious problem is common operator associativity doesn't work. If the operators are nested binary operators, "y==0" would have to return two values, both the result, and "0".

You could have a system whereby you *did* return a number of things, eg. the result in list[0] and the various operators or other hints in list[1..n], and then let logic decide how to use the hints. That might also be useful where a function really really wants to return two values.

But is there a consistent way of doing this without turning it into an unreadable mess? :)

[1] Non-pedant corner: non-pedants might say "set x and y equal to nought"

Date: 2007-05-03 10:52 pm (UTC)
ext_8103: (Default)
From: [identity profile] ewx.livejournal.com
I'd say "eighteen years" can describe an interval, as well as eighteen objects which happen to be intervals themselves.

Date: 2007-05-03 10:57 pm (UTC)
deborah_c: (Default)
From: [personal profile] deborah_c
Thank you. Or, more prosaicly, I could have deleted "The passage of" from the start because it sounded too pompous :-)