sicp 4.2.1两题

    xiaoxiao2024-05-08  9

    4.25,如果在scheme解释器的应用序求值下,unless定义为一个过程,那么 (* (factorial (- n 1)) 将无穷递归下去。如果在正则序时,由于延时求值,仅当需要计算时才求值此表达式,不会造成无穷递归,在1的时候正常结束递归。 4.26,在上一节求值器的基础上定义unless的语法形式还是很简单的, 首先在analyze过程添加分析unless:  ((unless ?  exp) (analyze (unless -> if  exp))) 然后定义unless?和unless->if (define (unless ?  exp)   (tagged - list ?  exp  ' unless)) (define (unless -> if  exp)   (make - if  (cadr exp) (cadddr exp) (caddr exp)))

    最后一问,构造一个unless与高阶函数联合使用的场景,在此场景下,unless不能定义成特殊形式,仅在定义成过程的情况下有效,我想像不出此场景。

    文章转自庄周梦蝶  ,原文发布时间 2008-10-31

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)