`

sicp 4.2.1两题

阅读更多

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不能定义成特殊形式,仅在定义成过程的情况下有效,我想像不出此场景。


分享到:
评论

相关推荐

    SICP 习题答案

    《计算机程序的构造和解释》(SICP)是一本极具影响力的计算机科学教材,由Harold Abelson和Gerald Jay Sussman所著,MIT出版社出版。这本书以其深入探讨编程概念、程序设计方法以及计算机系统的工作原理而闻名。1-3...

    sicp第二章练习题的解答

    以上就是基于文件名推测的SICP第二章练习题相关知识点。这些内容深入地涵盖了函数式编程的基础和应用,对于提升编程思维和技能大有裨益。实际的学习过程中,通过阅读和理解这些代码,结合原书的理论部分,将有助于...

    SICP习题解答,主要第一章的内容习题答案

    4. **1.29~1.30.ss**: 这两个文件可能涵盖的是宏和元编程的概念。SICP强调程序也是数据,这意味着我们可以编写程序来生成或修改其他程序。宏就是这样的工具,它们允许我们在编译时扩展语言,创建新的语法结构。这...

    sicp in python 中文 sicp 中文

    sicp in python 中文版 sicp in python 中文版 sicp in python 中文版 !!!download&gt;&gt;&gt;https://github.com/wizardforcel/sicp-py-zh

    SICP中文第二版

    SICP中文第二版SICP中文第二版SICP中文第二版SICP中文第二版SICP中文第二版

    SICP 解题集

    《SICP解题集》是一份专注于探讨和解答《结构与解释程序》(Structure and Interpretation of Computer Programs,简称SICP)一书中习题的资源。SICP是计算机科学领域的一本经典教材,由Harold Abelson、Gerald Jay ...

    SICP(python中文带书签)

    《计算机程序的构造与解释》(Structure and Interpretation of Computer Programs,简称SICP)是一本备受推崇的经典计算机科学教材,由Harold Abelson和Gerald Jay Sussman撰写,并由MIT出版社出版。这本书以其深入...

    sicp 2.2.4节图形语言

    《SICP 2.2.4 节:图形语言》是计算机科学经典教材《结构与解释程序》(Structure and Interpretation of Computer Programs)中的一个重要章节,它深入介绍了如何利用编程来创建图形,以及如何设计和理解复杂的计算...

    SICP-Python版本

    SICP-Python版本

    SICP 使用的scheme解释器

    SICP 使用的scheme解释器 以前叫DrScheme

    sicp-Structure and Interpretation of Computer Programs

    - **1.2.1 线性递归和迭代**(Linear Recursion and Iteration):比较两种不同的过程结构。 - **1.2.2 树形递归**(Tree Recursion):探讨树形递归的概念及其应用场景。 - **1.2.3 增长阶**(Orders of Growth...

    Python SICP epub版本

    Python SICP epub版本,很适合学习抽象的思想,用Python版本比lisp更实用

    SICP LISP AI

    本书的第二版包含了中文和英文两个版本,旨在帮助读者理解计算机程序的本质,以及如何通过Lisp和Scheme语言来构建和解释这些程序。 Lisp是一种古老而强大的编程语言,以其独特的括号语法和函数式编程特性而著名。它...

    a_book_sicp_py

    本书名为《a_book_sicp_py》,是一本以Python语言为基础介绍设计模式和计算机科学基础的书籍。根据描述和部分内容,可以提炼出以下知识点: 1. 编程语言的重要性:在计算机科学的宽泛领域中,编程语言扮演着至关...

    PyPI 官网下载 | sicp-0.0.1b102.dev4.tar.gz

    标题中的"PyPI 官网下载 | sicp-0.0.1b102.dev4.tar.gz"指的是从Python的官方包索引(Python Package Index,简称PyPI)上下载的一个名为"sicp"的软件包的版本号为0.0.1b102.dev4的压缩文件,其格式是tar.gz。...

    北京大学,计算机程序构造和解释(SICP)课件,裘宗燕老师主讲

    《计算机程序构造和解释》(SICP,Structure and Interpretation of Computer Programs)是一本具有深远影响力的计算机科学教材,由Harold Abelson和Gerald Jay Sussman编写,MIT Press出版。这门课程由北京大学数学...

    sicp in python 中文版 sicp

    sicp in python 中文版 sicp in python 中文版 sicp in python 中文版 download : https://github.com/wizardforcel/sicp-py-zh

    sicp 2016 from

    - **线性递归与迭代 (Linear Recursion and Iteration)**:比较了两种不同的计算方式及其效率差异。 - **树形递归 (Tree Recursion)**:探讨了如何通过递归来解决分治类型的问题。 - **增长阶次 (Orders of ...

    sicp 2nd 英文chm

    《Structure and Interpretation of Computer Programs》(简称SICP)是计算机科学领域的一部经典教材,由Harold Abelson和Gerald Jay Sussman撰写,第二版(2nd Edition)通常被称为SICP 2nd。这本书是麻省理工学院...

Global site tag (gtag.js) - Google Analytics