scheme 相关问题

Scheme是Lisp系列中的一种函数式编程语言,它以lambda演算与eager(applicative-order)评估密切相关。有关URL方案的问题,请使用标记“url-scheme”。

方案中的变量让表达式莫名其妙地不受约束

我得到一个错误,说 dataInput 没有绑定。我不知道为什么。这似乎是一个有效的 let 表达式。请解释。非常感谢! (定义 imageList "/home/perry/dir_image_search_list&...

回答 0 投票 0

如何获取 Scheme 定义类型实例的参数?

我有一个函数定义的精简定义类型: (定义类型 FunDef (fundef (fn-name symbol?))) 这是一个满足定义类型的函数定义: (fundef'f) 怎么...

回答 1 投票 0

stream-ref 和 stream-take 在 Scheme 中给出了相互矛盾的答案

我在方案中有以下程序 #lang方案 (需要球拍/流) (定义(从 n 开始的整数) (stream-cons n (integers-starting-from (+ n 1)))) (定义(流前缀和 s) (...

回答 0 投票 0

自引用流的评估

我在 SICP 讲座系列的第 6B 课中遇到了以下示例,需要一些帮助来理解它是如何评估的。 该示例使用流处理创建无限的

回答 2 投票 0

方案无法识别定义宏

我正在关注 Harvey 教授的 cs61a,在可用的文件中,有一个实现了面向对象范式(此处)。将其加载到 Dr. Racket 并添加简单方案语言时......

回答 1 投票 0

让条件进入方案可能吗?

我有一个问题,我不明白 let 是如何在条件下工作的,如果我理解它但不是条件...... 这是我的代码: (定义 add2 (拉姆达 (l) (条件((null?l)l) (我...

回答 3 投票 0

预期布尔值的函数的预期过程错误

所以我试图编写一个函数来遍历点列表并计算距离给定平面小于特定距离的点数。我的问题是我得到...

回答 0 投票 0

应该有条件的函数的预期过程错误

所以我试图编写一个函数来遍历点列表并计算距离给定平面小于特定距离的点数。我的问题是我得到...

回答 0 投票 0

合同测试咨询

我的项目使用微服务架构。测试是孤立的,当与其他服务交互时,我们使用 wiremock。可以想象,始终保持来自其他服务的正确答案...

回答 0 投票 0

如何使用 Guile Scheme 加载国外库?

我想使用我用 C 编写并使用 gcc -shared -o libsum.so sum.c 编译成库的函数,但我不知道如何加载库并从方案

回答 1 投票 0

如何从微服务架构中获取订单信息

我有一个微服务架构,如下图所示: 问题 我有一个 idia 来制作用户搜索 UI 控件,但我没有用户服务,我只有身份

回答 0 投票 0

无法弄清楚为什么我不断收到“预期违反计划地图合同:程序?错误”[关闭]

我有以下代码: (定义(eval-1 exp) ;添加了显示表达式。 -- DLB (显示“正在执行 eval-1,exp =”) (displayln exp) (条件((常量?exp) (显示...

回答 0 投票 0

在球拍中展平列表

我正在 Racket 中完成一项作业(使用 lambda 的中级学生),我正在尝试制作一个帮助函数来展平列表列表。我不允许使用递归,也不能使用 ap...

回答 3 投票 0

Scheme 卫生宏中文字的使用

在 Scheme 语言中(让我们将 R5RS 作为语言参考)卫生宏可以使用构造(定义语法 )定义,其中 在 Scheme 语言中(让我们将 R5RS 作为语言参考)卫生宏可以使用结构 (define-syntax <keyword> <transformer>) 定义,其中 <keyword> 是宏的名称,<transformer> 描述宏将匹配的 <pattern> <template> 描述了应该如何转换该模式。 <transformer> 有以下形式: 例如: (syntax-rules <literals> <syntax-rule> ...) 但是,也允许指定一些<syntax-rule>作为(<pattern> <template>)声明的一部分。我从语言规范中了解到,出现在(define-syntax swap (syntax-rules () (; pattern to be matched: (swap x y) ; template the pattern will get replaced by: (let ((tmp x)) (set! x y) (set! y tmp))))) 的<literals>中的任何标识符都是模式变量,除非它是开始模式的syntax-rules,或者在<pattern>中列出,或者是标识符<syntax-rule>。模式变量匹配任意输入元素,并用于在模板中返回与模式匹配的输入元素。然而,出现在 <keyword> 中的标识符被解释为要与输入的相应子形式匹配的文字标识符。 实际上,在几乎所有的例子中,人们都可以找到这个文字列表<literals> 保持为空(如上例所示)。 有人可以为我提供一个简单的例子来说明具有此类文字的相关性。在什么样的实际用例中使用这样的文字才有意义?一个具体而简单的例子会有所帮助。

回答 0 投票 0

请解释“thunks”的编码。

我从书中尝试了以下代码。 ;pg 51 R. Kent Dybvig 的“方案编程语言” (定义惰性 (lambda (t) ;所以懒惰接受参数 t (让...

回答 1 投票 0

为什么 `(((call/cc (lambda (k) k)) (lambda (x) x)) “嘿!”)` 评估为“嘿!”?

我正在阅读计划编程语言并在后续部分看到这个例子: (((call/cc (lambda (k) k)) (lambda (x) x)) “嘿!”)=> “嘿!” 我不知道你...

回答 2 投票 0

递归函数不输出计算

我必须编写一个函数,遍历列表中的子列表并获取每个子列表中的第一个元素。我想我已经找到了正确的解决方案,但我只是不明白为什么它会触发我的基本案例......

回答 1 投票 0

如何使用带有列表列表的地图

我需要在 Scheme (Racket) 的列表列表中使用地图。 我特别想要的是 (map-lists add1 '((3 1) (2 8))) => '((4 2) (3 9))。 我知道如何递归地解决这个问题,...

回答 1 投票 0

Manipulating Graph-- 球拍/方案

我希望在 Racket 中执行图形的传递闭包。为此,我需要在您找到匹配的 (a,b) 和 (b,c) 时迭代添加链接。我应该使用 foldl、hash-keys、set->...

回答 0 投票 0

如何定义除 e 以外的底数的对数?

我正在尝试定义登录方案。例如,如果 (log (exp 1)) ;=> 1.0 那我怎么写log5(25)呢?

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.