chicken-scheme相关内容
如何从我自己的宏中调用内置的 Chicken Scheme 宏 - 特别是在这种情况下为 let-values? (定义语法...(IR-宏变压器(lambda (expr 注入比较)(让值(...)...... 未绑定变量:let-values 解决方案 这恐怕是个小错误.一个简单的 (import-for-syntax chicken) 为我解决了问题. 在 CHICKEN
..
我正在寻找类似于 Javascript 的 arguments 数组的东西: function parent(){child.apply(this.arguments);} 我知道可变参数长度的点符号以及方案的 apply 函数. 这似乎不起作用,因为点被视为第一个参数: (定义(父级.)(列表 .))(父母 1 3 4 6 7)错误:错误的参数计数 - 收到 5 但预期为 1:#
..
我对Chicken 中(use) 和(import) 之间的区别有点模糊.同样,(load)、(require) 和 (require-extension) 有什么不同? 网站上似乎很少提到这些事情. 解决方案 Load 和 require 是纯粹的运行时程序操作.Load 接受一个字符串参数并将具有该名称的文件(可以是源代码或编译代码)加载到正在运行的 Scheme 中,以便它定义
..
我正在寻找类似于Javascript的arguments数组的东西: function parent(){ child.apply(this.arguments); } 我知道可变参数长度的点符号以及方案的apply函数. 这似乎不起作用,因为点被当作第一个参数: (define (parent .) (list .)) (parent 1 3 4
..
我试图用CHICKEN编译方案文件,它说我需要安装CHICKEN的iup端口.因此,我去了网站并尝试安装iup端口,但出现错误.然后我意识到我需要得到ffcall.我安装了该软件,并尝试再次安装iup端口.并失败了. 我不知道我的系统上是否安装了srfi-42.即使我知道它没有安装,我仍然不知道如何安装srfi-42来使iup端口正常工作. 这是我得到的错误: ander@An
..
名称空间如何在Chicken Scheme中工作?我现在使用parley鸡蛋,当我定义一个函数名称为例如read,由于名称冲突而导致错误(实际上是因为我的read覆盖了parley自己的read,并且以错误的类型调用了它. 代码如下: (use parley) (define (read p) p) ; This `read` function conflicts. (let lo
..
如何从我自己的宏中调用内置的Chicken Scheme宏-在这种情况下,具体是let-values? (define-syntax ... (ir-macro-transformer (lambda (expr inject compare) (let-values (...) ... ... 未绑定变量:let-values 解决方案 我担心这是一个bug
..
我正在学习Scheme中的宏系统如何工作,并且试图使我的代码看起来更像JavaScript.所以我以为我将从function宏开始.这就是我希望函数定义看起来的样子: (function id (x) x) 它应该扩展为以下内容: (define (id x) x) 所以我写一个如下的宏: (define-syntax function (lambda (name
..
伴随着《简单方案》(第二版)这本书,我正在YouTube上观看《计算机科学61A-讲座》.在讲座中,辅导老师使用Stk解释器,但我使用的是鸡方案解释器. 在第一堂课中,他使用"first"程序,如果这样的话,它称为: (first 'hello) 它返回"h". 在"Simply Scheme"一书中,有一个有关如何首先实现的示例: (define (first se
..
我使用不同的终端获得两种不同的行为,这是我的代码: (use ncurses) (initscr) (curs_set 0) (noecho) (start_color) (define win (newwin 20 50 1 1)) (wclear win) (box win 0 0) (for-each (lambda (y) (for-each (lambda (x
..
我需要编译一个包含多个源文件的Chicken Scheme项目,但我收到错误。 根据手册和这个SO回答,我需要把(declare) / code> s在我的来源。为什么编译器不能只是看到我正在导入其他来源不只是我,但是嗯。 问题是,即使如果我把(declare)插入,编译器会提示(import) s和(使用)。 infinity.filesystem.scm: (使用bin
..
我目前正在编写一系列以鸡档案编写的实用程序,这是我第一次尝试在鸡档案中编写一个基于多文件的程序(或一组程序),而我在正确地利用附件文件中定义的代码时遇到一些麻烦,所以当你编译所有的东西时,文件 A 中定义的代码将可以被编译的文件 B 。我基本上需要Chicken Scheme等同于以下C代码: #include“my_helper_lib.h” int main(void) {
..