scheme 相关问题

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

合同测试咨询

我的项目使用微服务架构。测试是孤立的,当与其他服务交互时,我们使用 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

打印带变量的格式化字符串

我正在阅读一本关于 Scheme 的书,其中介绍了我使用 writeln 函数的方法。它希望我能够给它一系列的字符串和变量,然后它会像这样输出到控制台。 (写...

回答 1 投票 0

打印带变量的格式化字符串[重复]

我正在阅读一本关于 Scheme 的书,其中介绍了我使用 writeln 函数的方法。它希望我能够给它一系列的字符串和变量,然后它会像这样输出到控制台。 (写...

回答 1 投票 0

如何分析callcc中的等效接收器?

我正在阅读《Scheme与编程艺术》一书,但对下面的问题想不出答案。如果r是(escaper(lambda(continuation)(continuation body))中的(......(callcc r)......。

回答 1 投票 1

`cdr`的`set-car!`也会改变`car`,为什么?

(define l '(a)) (define p (cons l l)) (set-car! (cdr p) 'b)在最后一个(set-car! (cdr p) 'b)之后,p将是((b) b)而不是((a) b)。为什么会这样?

回答 1 投票 2

Haskell在ADT上的递归问题。

我正在学习LYAHFGG中关于代数数据类型的第8章,当我试图实现类似Scheme的列表操作时,遇到了一个障碍。我的想法是尝试在Pair adt上建立cons、car、cdr,然后 ...

回答 2 投票 1

如何用Racket重写递归过程(重复f n)作为一个迭代过程?

这是我对递归过程(repeat f n)的处理方法,它将函数f n次应用于一个参数:(定义(repeat f count) (if (= count 1) f (lambda (x) (f ((...))。

回答 2 投票 0

为什么我的宏步器没有 "Next term"?

可能与DrRacket中的Macro stepper重复,但我的问题是 "为什么我的Macro stepper中没有 "上一术语 "和 "下一术语 "按钮?我注意到这里:http:/www.ccs.neu.eduhome...

回答 1 投票 1

累积递归函数,产生一个从最后一个到第一个小计的列表。

试图用累积递归来做这个'(3 2 1) -> '(6 3 1),我可以得到我想要的结果(某种程度上),我的意思是,我的首字母和休止符似乎是以正确的顺序,但我的(缺点 ...

回答 1 投票 1

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