问题标签 [the-little-schemer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
lambda - The Little Schemer:坚持 multiinsertLR&co 示例
经过一些工作后,我能够理解该multirember&co
功能,但我无法从以下multiinsertLR&co
代码中真正理解(第 143 页):
这本书似乎没有解释collector
在评估函数时最初应该通过哪一个,所以我分别使用了第 138 页和第 140 页上解释的a-friend
收集器和收集器。last-friend
使用任一收集器评估函数会导致以下错误(使用带有 petit chez 方案的跟踪函数):
我查看了几次代码,但找不到错误。如果有人有任何见解,请分享。如果有人也可以通过一些好的例子向我指出(相对而言)对延续的温和解释,那也将不胜感激。
scheme - The Little Schemer 第 4 版:rember 函数讨论
第41页功能简化后rember
,有一个问答,我不是很懂。
我试图弄清楚这几天,但我不明白这个问题的确切含义是什么。
谁能解释一下弗里德曼想通过问答来展示什么?
提前致谢
lisp - 从 cond 语句中删除多余的 else ?
我目前正在阅读《小阴谋家》的第 4 版。一个早期的练习是创建一个函数,该函数insertR
在列表中给定值的右侧插入一个值。本书最终得出以下定义:
我自己的定义是这样的:
它们是等价的吗?
recursion - 这个长度≤1怎么做不止一次?
我花了一天时间阅读The Little Schemerlength≤1
一书中的第 166 页;有以下代码:
其中l
is(apples)
和eternity
is 如下:
第 166 页(第 4 版)指出:
当我们申请
mk-length
一次时,我们得到length≤1
进而
我们可以多次这样做吗?
但我不知道如何做到这一点length≤2
?
lisp - “小阴谋家”中的利弊结果
在第 178 页,有一个问题:
在哪里
书中的答案是
但我认为答案应该是
为什么我错了?
scheme - 小阴谋家和球拍
我开始阅读 Little Schemer,现在我们有 Racket,而不是 PLT Scheme。我想知道 Racket 是否适合做书中的练习,还是我需要另一个真正的 Scheme 编译器。在我忘记告诉你之前,我的操作系统是 Windows x64。
这本书、语言和范式足够复杂,我很想避免与编译器打交道。
提前非常感谢。
scheme - 为什么 cons 的第二个参数必须是一个列表
我正在读一本叫做小阴谋家的书。
在阅读之前,我已经阅读了 SICP 的前三章。
我的问题是为什么 cons 的第二个参数必须是 list。
但是,(cons a b)
适用于所有值 a 和 b 和
(car (cons a b))
=一个
(cdr (cons a b))
= b
list - 检查列表在 Haskell 中是否平坦
在The Little Schemer中有一个函数可以检查列表是否平坦:
我正在尝试在 Haskell 中编写相同的递归函数,但没有成功:
如何检查参数是否不在表单中[[a]]
?换句话说,[1,2,3]
是一个有效的输入,但[[1,3], [2,4]]
不是[[[1,2,3]]]
。
我想在接受列表的递归函数中进一步使用它,以确保我只处理平面列表。
编辑:我看到人们因为is_lat :: [a] -> Bool
类型签名而感到困惑。我现在同意,我不应该在运行时检查类型。但是,是否可以在编译时检查类型?如何使该功能仅适用于平面列表?还是我应该彻底改变我的思维方式?
lisp - 为什么我收到“atom”的未绑定错误?
我正在尝试通过“The Little Lisper”并且在第一章中已经遇到了障碍。我对 Emacs 比较陌生(这激发了我对学习 Lisp 和 clojure 的兴趣)。我下载了 Mit-scheme 应用程序,并在 Edwin 上进行练习。
我正在努力:
其中 a 是一个原子,l 是一个已经定义的列表。我收到以下错误:
为什么?我使用“null”没有问题?功能。我想“原子?” 是一个内部函数,检查返回的值是否是原子。
任何解释将不胜感激。我还没有设置我的emacs来运行scheme,所有lisp方言之间的细微差别正在考验我的耐心。
functional-programming - 小计划者 - 从哪里开始?
我刚刚打开了 The Little Schemer,我觉得我错过了一些东西。
第一个问题问“这是一个原子吗?”,但我没有看到任何关于原子是什么的定义。我想我可以通过问题的答案推导出原子是什么,但接着它继续询问 l 的 car 是什么,l 的 cdr 是什么,我不知道要问什么。
这本书的目的是通过阅读答案来发现问题的含义,还是在阅读本书之前我需要一些基本知识?如果是后者,有人可以指出我可以在哪里获得这些基本知识吗?