Кто-нибудь знает, как я могу определить свободные переменные в лямбда-выражении? Свободные переменные — это переменные, не являющиеся частью лямбда-параметров.
Мой текущий метод (, который ни к чему не приводит ), состоит в том, чтобы просто использовать car и cdr для прохода по выражению. Моя основная проблема заключается в том, чтобы выяснить, является ли значение переменной или одним из примитивов схемы. Есть ли способ проверить, оценивает ли что-то одну из встроенных в схему -функций? Например:
(is-scheme-primitive? 'and)
;Value: #t
Я использую схему MIT.