Esquema e Ligação Raso

 (define make (lambda (x) (lambda (y) (cons x (list y)))))

 (let ((x 7)
       (p (make 4)))
   (cons x (p 0)))

Eu sou novo em Scheme e programa funcional, então eu sou um pouco desajeitado em percorrer programas, mas eu entendo que se eu usasse deep binding este programa retornaria (7 4 0). Faz sentido. O que esse programa faria usando vinculação rasa? Eu entendo isso pode parecer idiota, mas é o p na linha com contras uma redefinição? Então, nesse caso, nós retornaríamos (7 0)?

Basicamente, eu entendo o conceito de deep rails, mas eu sinto que estou mexendo em Scheme porque eu não sou louco por isso.

questionAnswers(2)

yourAnswerToTheQuestion