将Let Form过程转换为Unnamed(匿名)过程

时间:2014-04-12 01:58:55

标签: scheme racket

我在理解如何将Let Form过程转换为未命名(匿名)过程时遇到问题。在线主题或示例没有太多材料。有人可以帮忙吗?

(let ((x 30))
  (let ((x (+ 5 25)) (y (* 5 x)))
    (* x y 24)))

2 个答案:

答案 0 :(得分:1)

((lambda (x)
   ((lambda (x y)
      (* x y 24))
    (+ 5 25) (* 5 x)))
 30)

答案 1 :(得分:0)

“在线主题或示例没有太多材料。”

您是否尝试在任何Scheme标准中查找let的定义?

(define-syntax let
  (syntax-rules ()
    ((let ((name val) ...) body1 body2 ...)
     ((lambda (name ...) body1 body2 ...)
      val ...))
    ;; ignore 'named-let'
    ))

以上不是您的作业问题的解决方案,但了解上述内容可以解决您的作业问题。

相关问题