При реализации языка, который поддерживает все эти конструкции, мне кажется, что должна быть возможность рассматривать break, continue, return и throw как аспекты одной и той же вещи, что-то вроде возвращения из (или выполнения tail)рекурсия на, в случае продолжения) функция дальше вверх по стеку вызовов, не обязательно текущая функция.
Очевидно, я не собираюсь быть первым, кто подумал об этом.Кто-нибудь знает какие-либо ссылки на обсуждение (или реализацию с открытым исходным кодом) этого способа ведения дел?