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

sicp 4.2.1两题相关推荐

  1. 华为OD机试2022.11.04 只记得两题

    OD机试两题简单,一题中等:时间来不及只能做简单的两个. 第一题探索地块建立给一块n*m的地块,相当于n*m的二维数组,每个元素的值表示这个小地块的发电量:求在这块地上建立正方形的边长为c的发电站,发 ...

  2. noip2016 小结(ac两题+学习总结)

    NOIP2016考试小结 DAY 1 T1 题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业. 有一天, 这些玩具小人把小南的眼镜藏了起来. 小南发现玩具小人们围成了一个圈,它们有的面朝圈内, ...

  3. 挑战JavaScript正则表达式每日两题(1)

     下一篇 不少学习JS开发的同学可能对正则表达式抱有不屑一顾的态度,认为用到时再查查不就行了.以前在学习其他语言,例如JAVA和C#时,我就有这么一种观点--反正看了不用就忘. 但是,JS开发中,你无 ...

  4. BestCoder Round #4 前两题 hdu 4931 4932

    第一题太水了.. 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include< ...

  5. NKU两题简单题解析(递归分析与位运算技巧)

    题目:http://acm.nankai.edu.cn/p1002.html 题意:对给定的f(n),当 n>=50025002 的时候,f(n)=n-5:当 n<50025002 的时候 ...

  6. MIK C语言面试两题

    这是一个读者朋友在知识星球上提到的两个笔试题,第一个题目比较简单,关键在第二个题目「编程题」,我文章中写的解题思路应该不是最好的,希望大神读者们给出更好的答案,让这个充满乐趣的程序世界再增添一些乐趣吧 ...

  7. 计算机二级考试题有之前的吗,国家计算机二级上机做对前两题为什么过不了

    你是考C语言还是考VB呀,我们学校好像考C语言吧! 一.对于笔试: 二级VB考试的考题内容很细,没有复杂的算法题,最多只是一些看起来复杂(其实很有规律)的循环题.那么,我们要做的是: 1:按照大纲读懂 ...

  8. 第十二届全国大学生信息安全竞赛-RE部分WP(目前前两题,待更)

    RE2-bbvvmm 分析 拖入IDA,题目流程基本呈现,直接看到最后的check 这里即,用户名和密码都在此验证.密码最终得到的结果在ptr+25,而用户名得到的结果,像是经过一系列字符处理,最终与 ...

  9. Android加密 看雪,Android加密与解密入门两题

    写在最前面 本次题目来自看雪2w班9月题.密码学一直是安全的基础,Android安全也不例外,这次9月份的题分别从java层和C层考察了密码学中常用的对称加密.hash函数以及一些基础的编码,但是不是 ...

最新文章

  1. findler mac 隐藏文件_Fiddler使用文档
  2. 逆向基础之C语言 第一篇
  3. Spring事务管理--嵌套事务详解
  4. go为什么比php性能好,刚学 GO,撸了个支付宝发券的程序,为什么性能还比不上 PHP ?...
  5. 正则表达式匹配减号_THOR断点教程0910 网球规则1112 后附常用正则表达式数据...
  6. 【RMQ问题】求数组区间最大值,NYOJ-1185-最大最小值
  7. linux从usb安装软件,Linux下USB Camera的安装和使用
  8. StanfordDB class自学笔记 (16) 心得体会
  9. 通过adb和python直接传输Android截图到电脑(windows适用)
  10. 【食安云桥】python 文件内批量长度除以3.5替换
  11. css 全文字体大小,CSS 字体大小
  12. java实现微信定时发送消息
  13. 免校准的电量计量芯片_免校准电能计量芯片,让家电智能化更简单
  14. python excel数据处理教程pdf_python对excel操作详解.pdf
  15. Buffer透视:duplicate(),slice()等
  16. 最新小程序授权+php后端(附demo源码)
  17. 市面上常用的语音识别模块主要包含哪些组件?
  18. 水利水电安全员考试多选练习题库(8)
  19. win10搜索服务器文件慢,如何解决win10搜索速度很慢的情况呢?|win10加快系统搜索速度的方法...
  20. 基于豆瓣影评数据的完整文本分析

热门文章

  1. Oracle创建数据库(手动)
  2. VM虚拟机中的centos6.3命令行模式添加GCC
  3. delphi 改变闪动光标
  4. 关于Android的一些设计
  5. 英国推6.5亿英镑网络安全战略 强化安全屏障
  6. 一天一个设计模式(3)——单例模式
  7. js6的未来(二)函数增强
  8. RAC8——scan ip的理解
  9. 使用Redis分区将数据分割到多个Redis实例
  10. 浅谈悲催的“期末考试”