问题标签 [guile]

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 投票
3 回答
479 浏览

scheme - Guile 计划 - 报价期?

下面的 Guile 方案代码有什么作用?

该代码在 MzScheme 中无效,是否存在跨方案实现的可移植等效项?

我正在尝试移植其他人编写的代码。Guile 似乎对 '. 使用#{.}#,但我不确定它的含义或如何在另一个方案中执行此操作。

0 投票
1 回答
246 浏览

unit-testing - 如何运行用 Guile 编写的 TAP::Harness 测试?

通常的做法

无法运行 Guile 脚本,因为它向 Guile 传递了额外的参数“-w”。

0 投票
2 回答
854 浏览

unit-testing - 如何在 Guile 中构建单元测试,输出到 TAP 标准?

我想要一个 Guile 脚本,它实现功能,根据 TAP 协议输出测试结果消息。

0 投票
1 回答
416 浏览

python - 如何检查 Guile 扩展模块中的内存泄漏?

我为 Guile 开发了一个扩展模块,用 C 编写。这个扩展模块嵌入了一个 Python 解释器。

由于此扩展模块调用 Python 解释器,我需要验证它是否正确管理 Python 对象占用的内存。

我发现 Python 解释器在其自己的内存处理中表现良好,因此通过运行 valgrind,如果没有其他干扰因素,我可以发现由于我自己的 Python 解释器嵌入代码中的错误导致的内存泄漏。

但是,当我在 valgrind 下运行 Guile 时,valgrind 报告内存泄漏。由于我自己的代码,此类内存泄漏掩盖了任何内存泄漏。

问题是我可以做些什么来将由于我的代码中的错误导致的内存泄漏与 valgrind 报告的由于 Guile 引起的内存泄漏分开。另一个工具而不是 valgrind?特殊的 valgrind 选项?放弃并依赖手动代码演练?

0 投票
1 回答
496 浏览

c - 如何在扩展Guile的C代码中将字符串转换为bignum?

在 Guile 1.6.* 中,该函数scm_istring2number(char *str,int strlen,int radix)完成了工作。

但是,Guile 1.8 中不存在此功能。. 如何在 Guile 1.8 中完成相同的任务。?

这不是微不足道的,因为该函数scm_string_to_number(SCM str,int radix)不会转换大于 2 31 -1 的数字(至少在 Guile 1.6.* 中)。

0 投票
16 回答
19185 浏览

lisp - Lisp 网络框架?

各种 LISP 风格的流行(好吧,流行是相对的)Web 框架是什么?

0 投票
6 回答
6938 浏览

scheme - 如何使用 Script-Fu 解析出基本文件名

使用从 gimp.org 下载的用于 MAC OS X(X11 下)的 Gimp 2.6.6。

我正在尝试使用 Script-Fu 自动化一个无聊的手动过程。我需要解析图像文件名以使用原始文件名的后缀将各个图层保存为新文件。

我最初的尝试是这样的,但失败了,因为(string-search ...)在 2.6 下似乎不可用(更改脚本引擎?)。

然后我尝试使用此信息使用正则表达式解析出基本文件名,但(re-match-nth ...)也无法识别。

虽然从向量中拉出值没有错误,但结果值在传递到时不被视为字符串(string-append ...)

所以我想我的问题是,我将如何解析基本文件名?

0 投票
6 回答
5818 浏览

emacs - Guile 和 Emacs?

我正在学习 Emacs Lisp,我遇到了这篇十年前的帖子,说在某个时候 Guile (Scheme) 将取代 Emacs Lisp,或者 Emacs 将被 Guile 重写。

https://web.archive.org/web/20081201143448/http://sanpietro.red-bean.com/guile/guile/old/3114.html

我想知道这是否仍有可能,开发人员是否应该考虑到这一点来尝试编写 Elisp?Guile 最初的目标是向后兼容 Elisp,但似乎开发 Scheme 是更好的选择。

0 投票
3 回答
1185 浏览

scheme - Scheme中循环定义的问题

我目前正在通过 SICP 使用 Guile 作为练习的主要语言。在执行第 3.5 章的练习时,我发现了一个奇怪的行为。我已经在各种平台上使用 Guile 1.4、Guile 1.8.6 和 Guile 1.8.7 重现了这种行为,并且确信它不是特定于我的设置。

此代码工作正常(并计算 e):

以下代码给出相同的结果:

但它会产生错误消息:

因此,当嵌入到过程定义中时, (define y ...) 不起作用,而在 REPL 的全局环境中的过程之外它可以正常工作。

我在这里做错了什么?如有必要,我也可以发布辅助代码(即积分、流图等的定义)。除了 cons-stream 的系统相关代码之外,它们都在书中。我自己对 Guile 的 cons-stream 实现如下:

0 投票
3 回答
1173 浏览

apache2 - Guile 计划和 CGI​​?

我最近发现 CGI 脚本几乎可以用任何可以打印到标准输出的语言编写。我写了一个小 guile cgi 脚本,它适用于我的本地 apache 安装,但不适用于我的共享主机:

这是输出,当我通过 ssh 从主机上的 shell 运行脚本时:

所以,显然我的主机已经安装了诡计。但是,当我尝试在浏览器中访问此文件时,我收到“500 内部服务器错误”。查看我的错误日志时,我发现我收到了可怕的“脚本头过早结束”错误:

因为我在共享主机上,所以使用 mod_lisp 或 guile 的 fastcgi 实现是不可能的。话虽这么说,这里可能是什么问题?我用 python、perl、ruby 和 sh 编写的类似 cgi 脚本在服务器上工作,没有错误。我看到主机上安装了 guile 1.8.7,但我的本地机器是最新版本。

我知道这是一个非常小众的问题,任何帮助将不胜感激!