如何表达let*作为lambda表达式(不是常规let)

Ara*_*idi 5 lambda scheme functional-programming sicp let

我有一个与方案相关的问题,我们如何实现let*作为lambda表达式.更确切地说,我并不想知道"常规"允许,但是让我们使用*让我们使用一个让表达式在另一个中.

Ósc*_*pez 5

let*形式是一系列嵌套的lambda第 例如,这个:

(let* ((a 10)
       (b (+ 10 a)))
  (+ a b))
Run Code Online (Sandbox Code Playgroud)

相当于:

((lambda (a)
   ((lambda (b)
      (+ a b))
    (+ 10 a)))
 10)
Run Code Online (Sandbox Code Playgroud)