Я хочу лучше понять, как окружения, закрытия, и frames. Я понимаю, что закрытие функций содержит среду, среды содержат фрейм и оболочку, а фреймы содержат переменные, но я немного нечеткий, как они взаимодействуют друг с другом.
Возможно, пример того, что происходит во время вызова функции, поможет? Или, может быть, диаграмма?