Во-первых, я не думаю, что короткое замыкание может быть разумно применимо к XOR: независимо от значения первого операнда, второй должен быть исследован.
Во-вторых, и, &&, или и || использовать короткое замыкание во всех случаях; единственная разница между версиями «слово» и «символ» - это приоритет. Я считаю, что and
и or
присутствуют для обеспечения той же функции, что и perl в строках, подобных
process_without_error or die
Я думаю, что причина отсутствия именованной функции xor
, вероятно, заключается в том, что в этом случае нет никакого смысла в операторе с низким приоритетом, и это уже достаточно запутанная ситуация!