问题标签 [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.
scheme - 您是否必须使用显示来使用 r6rs 输出内容?
背景:我是方案新手,正在使用 DrScheme 编写程序。
当我以 r5rs 运行程序时,以下程序输出 12345:
但是下面的程序什么也不输出(它是一个 r6rs 程序):
话虽如此,我可以通过执行以下操作使其输出 12345:
这是 r6rs 的新功能吗,只有在使用 明确指定时才会出现输出display
?或者我只是做错了什么
scheme - 为什么必须在编译器看到它们之前定义所有过程?
例如,看一下这段代码(来自 tspl4):
如果我在方案中将其作为我的程序运行...
我收到此错误:
...虽然此代码工作正常:
macros - 有人可以向我解释“卫生”的概念(我是一名计划程序员)吗?
所以......我是scheme r6rs的新手,并且正在学习宏。有人可以向我解释“卫生”是什么意思吗?
提前致谢。
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
程序_
编辑:没关系-我现在知道了:)
scheme - 方案传递引用
如何在方案中通过引用传递变量?
我想要的功能示例:
另外,有没有办法通过引用返回?
scheme - 在 r6rs 中重新定义语法关键字
如何创建一个名为 rnrs-modified 的库,它会使以下代码显示“Hello, world!”...?
甚至这会很好(实际上可以说更好):
本质上,我希望能够在库中重新定义语法关键字(let、lambda、set! 等),然后将该库导入另一个库或顶级程序并使用这些重新定义的关键字。
但是我不断得到这个:
我用于 rnrs-modified 的代码是:
有任何想法吗?
更新:我为“mzscheme 模块”找到了这个。它不适用于 r6rs 方案,但它提供的功能基本上正是我正在寻找的。provide all-from-except
在 r6rs 方案中我该怎么做?
functional-programming - 方案:仅使用 R6RS,如何确定 flonum 的尾数和指数
这是否可以从主要 R6RS 方案实现中的浮点数中提取尾数和指数,以便:
v = fxb^e
f - 尾数
b - 基数
e - 指数
例如:3.14 = 0.785 x 2^2
如果不支持,我想直接访问 flonum 的(IEEE 754)位来解决提取上述值的问题,但我没有发现将 flonum 转换为一系列字节(字节向量)的函数。
谢谢你。
lisp - 不同 Scheme R6RS 实现的优势
我想开始在 Scheme 中编程,但各种不同的实现令人困惑。各种实现有哪些优点或缺点?
scheme - 方案中的评估顺序
这是有效的:
这不起作用:
如何让它在评估obj1
时使用该值(cadar karaktersobjectenlijst)
?
scheme - 如何返回对象的副本?
我需要实现一个有一个参数的函数obj
——它返回一个 Scheme 表达式,在评估时,它将返回obj
.
关于如何解决问题的任何想法?