问题标签 [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.
ide - 将哪个环境、IDE 或解释器付诸实践方案?
我一直在通过The Little Schemer,我想知道最好使用哪种环境、IDE 或解释器来测试我为自己记下的任何 Scheme 代码。
scheme - Lisp / Scheme中的'(撇号)是什么?
我在自学计划的第 1 天第 1 小时。不用说,我什么都不懂。所以我正在阅读The Little Schemer并使用这个东西:
作为翻译。
'
例如,我需要使用
以避免“未定义的变量”错误。根据'
这本书, 是 Common Lisp 的东西。
我有两个问题:
我上面提到的口译员是好口译员吗?你能推荐另一个吗?我需要一个与The Little Schemer搭配得很好的。
是什么
'
?
scheme - 将 The Little Schemer 中的 Q 和 P 函数翻译成 Common Lisp?
在 Little Schemer 的第 9 章中,作者介绍了以下两个函数
并建议通过以下执行对它们进行评估:
你会如何在 Common Lisp 中编写 P 和 Q 函数?
(我自己翻译了 Y-Combinator - 但我发现这个很有挑战性)
--辅助功能--
(免责声明 - 这不是家庭作业问题 - 这是为了我的理解和学习)
lisp - 从“The Little Schemer”中的例子到真正的 Scheme 的语法变化
我最近开始关注The Little Schemer中的示例,在尝试DrScheme中的示例时,我意识到从书中的示例到我可以在 DrScheme 中编写的内容之间存在一些细微的语法变化。
首先,作为 DrScheme 中的一门语言,我选择了Pretty Big
(Legacy Languages 之一)。
这是尝试书中示例的正确选择吗?
至于语法变化,我注意到,例如,我需要在标识符前面加上 a'
才能使它们工作。
例如:
在尝试“The Little Schemer”书中的示例时,是否还有其他需要注意的变化(语法或非语法)?
scheme - 方案:为什么需要在这里使用条件?
我试图编写一个(简单,即没有eqan?
)one?
函数,如下所示:
但是上面的方法不起作用,因为当我这样称呼它时:
我收到了这个错误:
写它的正确方法(来自The Little Schemer)是:
为什么需要使用cond
withelse
子句,而不仅仅是返回(= 1 n)
?
scheme - 帮助理解 Scheme 中的 Continuations
我一直在与The Little Schemer一起学习 Scheme 并在我的环境中使用 PLT-Scheme。
Little Schemer在递归方面为我提供了极大的帮助(现在对我来说很简单),但我被困在书中介绍“收集器”并将函数作为一个整体称为延续的部分。
这是他们使用的示例代码。我理解递归元素,但我被困住了,特别是在 lambda 函数上——我的头脑无法遵循路径以及该 lambda 函数的参数是如何设置的(因为它们唯一的调用是在递归中再次调用它们,所以有在函数体内没有具体使用)。
如果有人可以通过将函数递归到 lambda 收集器中或多或少地给我分解计算路径,那可能会对我有所帮助。
先感谢您!!
scheme - 方案实施 - 这是什么意思?
我是 CS 的初学者,我的课程主要是 Java。我目前正在通过“Little Schemer”作为自学,并且在寻找如何做到这一点的过程中,我发现了许多对 Scheme 的“实现”的引用。我的问题是,什么是实现?
它们是 Scheme 的子方言,还是其他的东西(DrScheme 似乎允许该语言的不同“风味”)?它只是给包含 IDE、解释器、交互式工具等的任何给定生态系统的名称吗?
所有其他语言(例如Java)是否也有各种“实现”,或者它是为“开放”语言保留的?
谢谢,
乔斯·德拉格
scheme - 小计划者均衡器?功能 - 替代版本?
我正在阅读“Little Schemer”一书,并执行各种功能。一般来说,我最终会得到与书籍相同的版本,但不是 eqlist?,这是一个测试两个列表是否相等的函数。
我试过测试我的版本,它通过了我扔给它的任何东西。然而,它与“Little Schemer”版本略有不同,我希望有人对我是否遗漏一些东西发表意见——我怀疑是这样。
我的版本:
书的版本:
在这两种情况下,eqan 的定义是:
谢谢!
乔斯·德拉格
recursion - 为什么这在 DrRacket 中有效,但在控制台中的 Racket 中无效
DrRacket 中的语言设置为高级学生。在定义sub1
.
错误信息是:
clojure - mini-kanren cond-a cond-u 和 cond-e 有什么区别?
我曾尝试在 clojure 中使用 mini-kanren 的实现。但是一直在努力理解 cond-a cond-u 和 cond-e 之间的区别。我似乎对 cond-e 很清楚,但对 cond-a 和 cond-u 的理解却很糟糕。
cond-e 采用一组目标,然后尝试每个目标......即尝试所有成功的分支。
相反, cond-a 和 cond-u 提交到第一个谓词成功的分支,然后 cond-a 返回所有可能的成功统一。而 cond-u 只返回第一个成功的统一......但是当我使用它时,这种理解似乎是不正确的。有人可以帮助我澄清这种理解。