Проблема фунарга

Фунарг — сокращение от «функциональный аргумент»; в компьютерных науках, проблема фунарга относится к сложности реализации функций как первоклассных объектов в стеково-ориентированных языках программирования (в широком смысле, включая все языки, в которых передача параметров функциям осуществляется через стек).

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

Различают два варианта проблемы: проблема восходящего фунарга возникает при возврате функции из некоторой функции, проблема нисходящего фунарга — при передаче функции в качестве параметра некоторой функции.

Источник: Википедия

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я