finde freie Variablen im Lambda-Ausdruck

Weiß jemand, wie ich die freien Variablen in einem Lambda-Ausdruck herausfinden kann? Freie Variablen sind die Variablen, die nicht Teil der Lambda-Parameter sind.

Meine derzeitige Methode (die mich nicht weiter bringt) besteht darin, einfach Auto und CDR zu verwenden, um den Ausdruck durchzugehen. Mein Hauptproblem besteht darin, herauszufinden, ob ein Wert eine Variable ist oder eines der Schema-Primitive. Gibt es eine Möglichkeit zu testen, ob eine Bewertung für eine der integrierten Funktionen des Schemas erfolgt? Zum Beispiel:

<code>(is-scheme-primitive? 'and)
;Value: #t
</code>

Ich verwende das MIT-Schema.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage