> -- SovietPony писал(а):
> ... что...Ладно, это уже философия. Мне чужда такая вера в сознательность и безошибочность программиста (и человеков в целом).

> -- SovietPony писал(а):
> Тут разница в том, что если мы зависнем/трапнемся на собранной программе, то будем точно знать что проблема в именно в программе и легко можем получить стектрейс и содержимое переменных.А если тоже самое произойдёт в компилтайме? Кто виноват? Глючит компилятор или это кривая программа? Что? Ещё и отладчик встраивать ?!Да, это "яма".

> -- SovietPony писал(а):
> Ну а при отсутствии return выдвавть ошибку.При остутсвии ELSE выдавать ошибку.

> -- SovietPony писал(а):
> К тому же анализ процедуры на наличие return будет ещё проще чем анализ на использование глобальных переменных и вызова импортированных процедур.Ошибаетесь. В компиляторе есть цепочка областей видимости (topScope), которую для чистых функций можно не использовать (хорошо, для ЧФ нужна своя цепочка ОВ), а значит и потребность в анализе отпадает.

За указание на "яму" с рекурсией - спасибо. Остальное нет смысла обсуждать.