问题标签 [chibi-scheme]

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 投票
2 回答
974 浏览

scheme - Chibi Scheme - 简单的定义库示例不起作用

我编写了以下示例,以尝试在 Chibi Scheme 0.5.3 中使用 R7RS 库:

不幸的是,在执行时,它会生成有关未定义变量的错误:

我一定是犯了一个简单的错误,但没有看到。有任何想法吗?

0 投票
1 回答
140 浏览

error-handling - 带有迭代器的赤壁方案错误

任何人都知道为什么 chibi-scheme 在尝试使用 chibi-loopup-from函数时会抛出以下错误:

我通过以下方式使用语法:

0 投票
2 回答
246 浏览

macros - 方案:将宏定义内部的定义传递给子宏?

考虑 R7RS 方案中的以下宏定义:

我已将此文件加载到 repl 中chibi-scheme并输入:

>(富吧)

>(酒吧)

而不是预期的输出42,我得到:

错误:未定义的变量:baz

为什么会这样?如何baz将外部宏中定义的值传递给内部宏?

0 投票
1 回答
191 浏览

scheme - 语法规则表达式本身是否评估为 Scheme 中的值?

在 Chibi 和 CHICKEN 中,以下syntax-rules表达式计算为一个过程:

这只是这些特定实现如何编写的产物吗?Scheme 语言规范似乎没有要求syntax-rules能够评估为一个值。


更新

看来这可能取决于 Scheme 的版本?

来自 R 6 RS 规范

语义:语法规则的实例在宏扩展时通过指定一系列卫生重写规则来评估新的宏转换器。一个宏的使用,其关键字与由 syntax-rules 指定的转换器相关联,与 s 中包含的模式相匹配,从最左边的 开始。找到匹配项后,将根据模板卫生地转​​录宏使用。找不到匹配项时,这是语法冲突。

来自R 5 RS 规范R 7 RS 规范

语义:语法规则的一个实例通过指定一系列卫生重写规则来生成一个新的宏转换器。使用关键字与由 syntax-rules 指定的转换器相关联的宏与语法规则中包含的模式相匹配,从最左边的语法规则开始。找到匹配项后,将根据模板卫生地转​​录宏使用。

0 投票
1 回答
143 浏览

r7rs - 方案:列出范围内的所有绑定

在 R7RS 或 chibi-scheme 中,是否可以调用一个函数来获取包含当前范围内所有绑定的符号列表?

作为比较,在 Python 中,我可以使用函数globals()locals()查看当前范围内可用的名称。

我正在学习计划,我认为如果有这样的功能可用,它对于探索语言会非常有用。

0 投票
1 回答
101 浏览

ffi - 从 Chibi Scheme FFI 绑定中的 out 参数获取 struct*

你能从struct *Chibi Scheme 的 C 函数的 out 参数中得到一个吗?

我试图struct archive_entry *从这个 C 函数中得到一个:

在 C 中,人们会这样做:

我的赤壁 FFI 代码是:

但它没有生成正确的 C 代码来获取archive_entry. 我认为reference使用是错误的。我也试过pointer ,但也没有用。

0 投票
1 回答
57 浏览

chibi-scheme - chibi-scheme 嵌入:从 C 调用具有多个参数的方案函数

以下站点显示了将 chibi 方案嵌入 ac 程序的示例:

http://synthcode.com/scheme/chibi/

该片段显示了如何调用过程。现在,我试图用一个参数调用一个过程,但我没有让它工作。

我在计划和赤壁都是新手。这就是我的想法:

我从赤壁得到这个错误:源代码中的虚线列表

如何调用具有多个参数的过程?