Недавно решил попробовать APL и столкнулся с тем, что в версии языка 1 и 2 отсутствует условный оператор (IF). Есть только оператор безусловного перехода и, соответсвенно, довольно забавные варианты реализации ветвления. Покажу на следующем примере вычисления четности/нечетности.
∇BOOL←ODD INT
[1] P←⌈INT÷2
[2] Q←⌊INT÷2
[3] →(6 4)[1-P=Q] ⍝ здесь и происходит безусловный переход на 6 либо 4 строку.
[4] BOOL←1
[5] →0
[6] BOOL←0
∇
// квадратные скобки для наглядности
Собственно хотел поинтересоваться - отсутствие каких привычных конструкций и возможностей вы встречали в языках программирования и как с этим справлялись?