Как обычно область действия влияет на использование вложенных функций?

Я думаю, что это записано, но я хотел бы подтвердить.

  1. С динамической областью видимости не имеет значения, используется ли вложенная функция или отдельная функция, поскольку переменные просто зависят от стека вызовов.

  2. При использовании только чистых функций также не имеет значения, используется ли вложенная функция или отдельная функция. Это верно независимо от типа области видимости.

  3. С лексической областью видимости вложенные функции примерно имитируют вызов функции с динамической областью видимости.

  4. С лексической областью видимости программа, полностью написанная из чистых функций (возможно, допускающая один нечистый вывод в стандартный вывод), не нуждается в сборке мусора. Если это имеет значение, я специально думаю о GNU C с расширением вложенной функции для этого вопроса.

ПРИМЕЧАНИЕ. Под чистой функцией я подразумеваю полностью чистую функцию: единственное, что «читается», — это параметры, единственное, что «записывается», — это возвращаемые функции.

Спасибо

5
задан Ericson2314 23 May 2012 в 18:44
поделиться