Domanda
Ho bisogno di aiuto nella comprensione del materiale nella sezione di SICP 4.1.6 su definizioni interne.
ho capito il problema sollevato quando vengono definite le funzioni ricorsive reciprocamente. Ma io non capisco come si è risolto trasformando la seguente espressione lambda
(lambda <vars >
(define u <e1 >)
(define v <e2 >)
<e3 >)
in:
(lambda <vars >
(let ((u ’*unassigned*)
(v ’*unassigned*))
(set! u <e1 >)
(set! v <e2 >)
<e3 >))
Qualcuno mi può aiutare qui? Grazie.
Soluzione
Se cerca <e1>
riferimento alla v
nella prima forma, non riesce - v
non è definita (non ancora , ma il non parte è quello importante). Ma nella seconda forma, v
è definito per il momento si arriva a <e1>
(anche se non ancora assegnato - ma va bene -!) .
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow