问题标签 [r6rs]

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.

0 投票
1 回答
302 浏览

scheme - 您是否必须使用显示来使用 r6rs 输出内容?

背景:我是方案新手,正在使用 DrScheme 编写程序。

当我以 r5rs 运行程序时,以下程序输出 12345:

但是下面的程序什么也不输出(它是一个 r6rs 程序):

话虽如此,我可以通过执行以下操作使其输出 12345:

这是 r6rs 的新功能吗,只有在使用 明确指定时才会出现输出display?或者我只是做错了什么

0 投票
1 回答
231 浏览

scheme - 为什么必须在编译器看到它们之前定义所有过程?

例如,看一下这段代码(来自 tspl4):

如果我在方案中将其作为我的程序运行...

我收到此错误:

...虽然此代码工作正常:

0 投票
6 回答
6005 浏览

macros - 有人可以向我解释“卫生”的概念(我是一名计划程序员)吗?

所以......我是scheme r6rs的新手,并且正在学习宏。有人可以向我解释“卫生”是什么意思吗?

提前致谢。

0 投票
1 回答
265 浏览

lambda - 如何使宏观卫生的一部分

我想要一个lambda名为 的版本,lambda-r您可以在其中使用return。一个例子:

这将给出价值6。尽管您可能期望该值为 7,但它是 6,因为 1 在到达 2 之前从 lambda 表达式返回。

这是我正在寻找的那种转换的例子。假设一个要使用lambda-r如下:

我希望它变成这样:

这也可以用 let 表达式而不是内部定义来表达,但为了清楚起见,我使用了定义。

请注意,上面的代码确实按预期工作。问题是我无法表达lambda-r。原因是我想要k并且v保持卫生,但我不想return保持卫生。

我现在的宏是这样的:

这不起作用return,因为经过卫生处理,因此在使用lambda-r. 所以(lambda-r () (return 1))给出了一个错误,表明这return不是一个有效的标识符。


编辑:感谢 Nathan Sanders 的回答,我更接近于理解我必须在这里做什么。但是,我不完全理解以下程序,因此还无法使其正常工作。如果您能解释/指导我访问解释以下内容的资源,我将不胜感激:

  • syntax 程序_
  • datum->syntax/syntax->datum程序_

编辑:没关系-我现在知道了:)

0 投票
7 回答
5559 浏览

scheme - 方案传递引用

如何在方案中通过引用传递变量?

我想要的功能示例:

另外,有没有办法通过引用返回?

0 投票
1 回答
466 浏览

scheme - 在 r6rs 中重新定义语法关键字

如何创建一个名为 rnrs-modified 的库,它会使以下代码显示“Hello, world!”...?

甚至这会很好(实际上可以说更好):

本质上,我希望能够在库中重新定义语法关键字(let、lambda、set! 等),然后将该库导入另一个库或顶级程序并使用这些重新定义的关键字。

但是我不断得到这个:

我用于 rnrs-modified 的代码是:

有任何想法吗?


更新:我为“mzscheme 模块”找到了这个。它不适用于 r6rs 方案,但它提供的功能基本上正是我正在寻找的。provide all-from-except在 r6rs 方案中我该怎么做?

0 投票
1 回答
314 浏览

functional-programming - 方案:仅使用 R6RS,如何确定 flonum 的尾数和指数

这是否可以从主要 R6RS 方案实现中的浮点数中提取尾数和指数,以便:
v = fxb^e
f - 尾数
b - 基数
e - 指数

例如:3.14 = 0.785 x 2^2

如果不支持,我想直接访问 flonum 的(IEEE 754)位来解决提取上述值的问题,但我没有发现将 flonum 转换为一系列字节(字节向量)的函数。

谢谢你。

0 投票
2 回答
684 浏览

lisp - 不同 Scheme R6RS 实现的优势

我想开始在 Scheme 中编程,但各种不同的实现令人困惑。各种实现有哪些优点或缺点?

0 投票
1 回答
577 浏览

scheme - 方案中的评估顺序

这是有效的:

这不起作用:

如何让它在评估obj1时使用该值(cadar karaktersobjectenlijst)

0 投票
2 回答
824 浏览

scheme - 如何返回对象的副本?

我需要实现一个有一个参数的函数obj——它返回一个 Scheme 表达式,在评估时,它将返回obj.

关于如何解决问题的任何想法?