-----
"functions will not be called unless the calls within do not fail, so"
if y < (x | 5) then write("y=", y)
write("y=", (x | 5) > y)
I'd also somehow missed that it had the infix-chaining idea long before wart:
"the < operator returns its second argument if it succeeds, allowing things like a < b < c" https://en.wikipedia.org/wiki/Icon_%28programming_language%2...
(Compare http://arclanguage.org/item?id=16775)