问题标签 [gambit]

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 回答
342 浏览

makefile - 带有策略方案的 CMake

是否有使用 CMake 作为构建系统的 Gambit Scheme 编写的开源项目?我很想有这样一个 CMakeLists.cmake 文件作为参考。

0 投票
2 回答
1853 浏览

lisp - 比较 Common Lisp 和 Gambit 的库访问和对象系统

我对 Gambit Scheme 非常感兴趣,尤其是它支持的广泛平台,以及它在需要时将 C 代码直接放入您的 Scheme 源代码的能力。也就是说,它是一个方案,与 Common Lisp 相比,它的“包含的电池”更少。有些人喜欢从头开始编写很多东西(又名有力的牦牛剃须),但我不喜欢!

这给我带来了两个问题,面向同时使用 Gambit 和一些 Common Lisp 风格的人:

1)哪个有效地更好地访问图书馆?Scheme 的库比 Common Lisp 少。然而,Gambit Scheme 可以更顺畅地访问 C/C++ 代码和库,这远远超过 Common Lisp 的库。在您看来,Gambit 的 FFI 的流畅性是否超过了它缺乏原生库?

2) Scheme 的对象系统(例如 TinyCLOS、Meroon)与 Common Lisp 的 CLOS 相比如何?如果您发现它们缺少,您最想念哪些功能?最后,首先,Lisp/Scheme 中的对象系统有多重要?我听说整个基于 lisp 的公司(例如 ITA Software)完全放弃了 CLOS。Lisp/Scheme 中的对象真的那么可选吗?我确实担心如果 Gambit 没有好的对象系统,我可能会错过它们(我的编程背景是纯面向对象的)。

感谢您帮助有抱负的 C++/Python 转换,

——马特

PS:有超过 1500 代表的人,你能创建一个“gambit”标签吗?:) 谢谢乔纳斯!

0 投票
3 回答
2465 浏览

iphone - C 是否有类似 Haskell/ML 的编译器?

人们已经在 Scheme 中为 iPhone编写了游戏。因为(一些)Scheme 编译器编译为 C,所以很容易与 Objective-C 混合并与 XCode 集成。

知道Haskell 和 OCaml 编译器的补丁可以启用 ARM/iOS 后端。但那些似乎是非官方的和实验性的/不稳定的。

我更喜欢静态 haskell/ML 类型的类型系统而不是 Scheme 的动态类型。是否有稳定的 ML/SML/Haskell 编译器生成 C 代码,以便可以以与 Scheme/Gambit-C 类似的方式使用它?

0 投票
2 回答
573 浏览

scheme - 如何运行 gambit-c

已经很晚了,我应该去睡觉了,也许这就是我想不通的原因。我在fedora-13机器上,我刚刚跑了

我安装它是因为我想在一本有计划的教科书中继续学习。

但是现在它已经安装了,我该如何启动方案解释器?

0 投票
1 回答
762 浏览

scheme - 策略计划 FFI

我正在尝试使用 ffi 来调用 opencv 的 cvReleaseCapture,

无效 cvReleaseCapture(CvCapture** 捕获);

http://www.ai.rug.nl/vakinformatie/pas/content/Highgui/opencvref_highgui.htm

我努力了,

(定义释放捕获(c-lambda((指针(指针“CvCapture”)))无效“cvReleaseCapture”))

没用。

0 投票
2 回答
1080 浏览

garbage-collection - Gambit-C 的 GC 机制是什么?

Gambit-C 的 GC 机制是什么?我对制作交互式应用程序感到好奇。我想知道它是否可以避免突发 GC 操作。

0 投票
1 回答
117 浏览

scheme - 函数中的参数数量

假设我有一个结构“电话号码”。

这会给我一个功能(make-phonenumber)。我想获得 make-phonenumber 需要的参数数量。答案是4。

0 投票
3 回答
187 浏览

scheme - 定义和定义的区别*

原谅我的无知,但这两者有什么区别:

? 不幸的是,谷歌忽略了星号字符。

0 投票
1 回答
137 浏览

scheme - 让 gambit 的 gsi 出错后定义可见?

在尝试 gambit 的 gsi (4.6.6) 时,当我在 let 中输入无效的内容时,我遇到了一个奇怪的情况。

以正常方式进行操作,一切都按预期进行。i andj 不可见。

但是,如果我在 let 块中遇到问题,i andj 是可见的。就好像我仍然在 let 表单的范围内。这是怎么回事?此外,查看提示符上的数字,例如>1> `2> 等。看起来那里也有信息。如果是这样,那是什么?也许与嵌套或错误模式有关?

这与 clojure 中的有点不同。例如

0 投票
1 回答
309 浏览

c - 如何从 Gambit 方案中的 C 函数返回符号?

我在 c-lambda 后面有一个 C 函数,它需要通过 select(2) 调用进行一些摸索,并决定返回一个方案符号,以指示它做了什么,以及是否发生了错误情况。文档中没有解释如何将命名符号作为 ___SCMOBJ (或更合适的)从 C 中获取,并且 wiki 似乎已经崩溃。从 gambit.h 中也不能立即看出是否有用于此目的的宏。

这可能开箱即用吗?我目前的解决方法是将可返回的符号作为参数传递给函数,但是我希望能够返回更大的符号集,这很快就会变得非常笨拙。