Погоди. Как цикл через замыкание - понимаю, но ветвление (if) то как?
Точно так же, только в случае с ветвлением будет не одно замыкание, а два (then-ветка и else-ветка)...
Кот в студию! Как там без вшитого в язык if'a обойтись?
Ну там суть простая -- "оператор" IF является по сути просто объектом, обрабатывающим сообщения, посланные ему, и если эти сообщения помечены тегами "THEN" или "ELSE", то он их выполняет в зависимости от значения условия. А вот эти "THEN" или "ELSE" как раз и являются замыканиями -- анонимными функциями, в которые засунут контекст программы...