问题标签 [chicken-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 回答
9049 浏览

scheme - 如何在方案中创建列表列表?

我可能在 R5RS 文档中错过了这一点,但是如何在(鸡)方案中创建列表列表?我希望能够获取一个列表,a调用(list-ref a b),将结果分配给c,然后调用(list-ref c d),其中bd是索引值。

编辑:为澄清起见,假设我有这些列表:

然后我想创建一个名为fruit和作为列表条目citrus的列表。apples

0 投票
1 回答
434 浏览

debugging - 如何获取鸡计划错误的行号信息

我试图找出错误的原因。解释器给出“错误的参数类型”和 16 行相同的调用历史记录:<eval> [procedure name] (sexpr). 但是,此过程是从程序中的许多不同位置调用的。print有没有办法找出这些位置中的哪一个是问题的根源,而无需通过将电话放在每个可能的候选人面前的耗时过程?

0 投票
1 回答
276 浏览

javascript - ChickenScheme Spock JavaScript 编译器安装问题

尝试安装和运行SpockChickenScheme的扩展)。

起初,我什至不知道这取决于 ChickenScheme 框架,但我设法安装并运行了 ChickenScheme

鸡蛋,我猜鸡蛋必须是根据安装鸡蛋的spock

安装完成后,我尝试了http://wiki.call-cc.org/eggref/4/spock#using-the-static-compiler

我想念什么?

0 投票
1 回答
123 浏览

getopt-long - 如何在 Chicken 中使用 getopt-long

我如何getopt-long在鸡肉中使用?

我有以下代码:

但是,当我尝试使用 运行代码时csi,出现以下错误:

有任何想法吗?

0 投票
2 回答
1102 浏览

increment - Scheme 版本的 C `++`

我将如何增加一个变量,就像a=0; a++;Chicken中一样?

在 Common Lisp 中,我会这样做incf

但是 Chicken-scheme 似乎没有incf函数/宏,我尝试过使用aproposegg 的东西,但到目前为止这根本没有帮助。

在 C 中,我会像这样增加变量:

注意,我不想知道如何简单地a临时增加 by的值1,我想增加a以便a不再等于0而是等于1

因此,以下不是我想要的:

这是我正在寻找的示例——用 NewLisp 编写:

注意 函数/宏需要能够接受引用的变量并永久增加该变量的值。因此它需要等效于以下 C 代码:

我只想在 Chicken 中编写一个宏来执行此操作,但我似乎无法对 Chicken 的宏进行正面或反面——它们只是没有任何意义;它们根本不像 common-lisps 宏。

这是我刚刚在 common-lisp 中一起破解的示例宏:

0 投票
1 回答
156 浏览

string - 多次从字符串 X 中删除 char

我需要从字符串中删除一个字符,但我不知道如何指定 a ,这是对应该从Chicken 中删除count多少次的限制。characterstring

这是我在 Common Lisp 中的做法:

我将如何在 Chicken-scheme 中做到这一点?

我试过delete在鸡中使用,但鸡delete似乎不支持什么count东西,所以以下方法不起作用

并且仅delete在字符串上运行会删除所有出现的char

0 投票
2 回答
930 浏览

scheme - 如何配置 SublimeRepl 以使用鸡肉方案?

有没有人能够配置 Sublime Text 2 和 SublimeRepl 来处理鸡计划?

我在 Sublime 中有 chicken repl,但它仅显示来自 chicken 方案的错误消息(可能来自 csi 进程的 stderr 输出),但它不显示提示或评估值。

有什么帮助吗?

0 投票
3 回答
2300 浏览

time - 在 Scheme 中测量经过时间的最佳方法

我有某种使用过剩的“主循环”。我希望能够测量渲染一帧需要多少时间。用于渲染帧的时间可能用于其他计算。该功能的使用time是不够的。

我发现有一个函数叫做current-time. 我必须导入一些包才能得到它。

其中将 ct 定义为time对象。不幸的是,我在计划中找不到任何日期的算术包。我看到在 Racket 中有一个叫做的东西current-inexact-milliseconds,这正是我正在寻找的东西,因为它有纳秒级。

使用时间对象,有一种方法可以使用将其转换为纳秒

这让我可以做这样的事情

对我来说似乎已经足够好了,只是由于某些原因它正在打印这样的东西

我正在使用 opengl 渲染东西,我发现很难相信某些渲染循环需要 0 纳秒。并且每个循环都非常稳定,可以始终花费相同的纳秒时间。

0 投票
1 回答
269 浏览

scheme - 鸡方案中的绑定与绑定*

我有以下鸡的方案代码片段:

int_exp并且square只是我为测试而编写的小型测试函数(用 C 编写)。此代码工作正常;但是,一旦我删除星号,编译的程序就会打印出虚假值(并且虚假值取决于我是使用 clang 还是 gcc 编译 C 代码。)绑定文档只是“[bind* is]类似于绑定,但也使用foreign-declare”将代码嵌入到生成的方案扩展foreign-declare中,我应该在什么时候使用bind和使用它们之间有什么区别bind*

0 投票
2 回答
209 浏览

scheme - Converting a list to a circular list in Chicken scheme?

In trying to find how to convert such a list, I came across Scheme streams and circular lists. However, that answer requires features in Racket not available in Chicken scheme. Can Anyone point Me in the direction of how to do this in Chicken scheme instead? Or in a scheme-variant-neutral fashion?