You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sicp-all-tasks/sicp/4_002e6

21 lines
470 B

Exercise 4.6: Let expressions are derived
expressions, because
(let ((⟨var₁⟩ ⟨exp₁⟩) … (⟨varₙ⟩ ⟨expₙ⟩))
⟨body⟩)
is equivalent to
((lambda (⟨var₁⟩ … ⟨varₙ⟩)
⟨body⟩)
⟨exp₁⟩
⟨expₙ⟩)
Implement a syntactic transformation let->combination that reduces
evaluating let expressions to evaluating combinations of the type shown
above, and add the appropriate clause to eval to handle let
expressions.