CEK-машина, некоторые вопросы (создание замыканий, сокращение сред)
У меня есть несколько вопросов о реализации абстрактной машины CEK.
Описание этого можно найти в статье "Pycket: отслеживание JIT для функционального языка", на рисунке 1 (страница 2).
- Применяя функцию (4-е правило), я думаю, что мы должны создать замыкание из аргумента. Есть ли другие правила, в которых нам нужно создать замыкание?
- Я читал, что во избежание утечек памяти мы должны уменьшить среду при создании замыкания, то есть удалить все переменные, которые не являются свободными в выражении. Существуют ли какие-либо другие правила, в которых мы должны уменьшить окружающую среду?
- Какая структура данных лучше всего представляет среду, чтобы создание замыкания было эффективным?
- Можете ли вы порекомендовать любые ресурсы / книги, в которых подробно рассказывается об эффективной реализации CEK-машины.