如何在单独的目录中使用Chicken Scheme模块?
我有以下项目结构:如何在单独的目录中使用Chicken Scheme模块?,scheme,chicken-scheme,Scheme,Chicken Scheme,我有以下项目结构: . ├── main.scm └── stream ├── stream.import.scm ├── stream.scm └── stream.so stream.scm定义了一个模块: ;stream.scm (模块流) (...) (进口计划(鸡肉基地)) ...) 和main.scm使用stream模块: ;main.scm (导入流) ... 我通过csc-s stream.scm-j stream编译了stream。 我想使用嵌套在
.
├── main.scm
└── stream
├── stream.import.scm
├── stream.scm
└── stream.so
stream.scm
定义了一个模块:
;stream.scm
(模块流)
(...)
(进口计划(鸡肉基地))
...)
和main.scm
使用stream
模块:
;main.scm
(导入流)
...
我通过csc-s stream.scm-j stream
编译了stream
。
我想使用嵌套在stream
目录中的stream
模块编译main.scm
,但我找不到一种方法
我读了手册页,我试了一下
csc main.scm-I./stream
但这也提示了一个警告
Warning: the following extensions are not currently installed: stream
并且可执行文件不工作:
Error: (require) cannot load extension: stream
...
当我将main.scm
放在stream
目录中时,它确实起作用
如何使
main.scm
了解流
模块?我想您可能需要为此项目设置CHICKEN\u REPOSITORY\u路径
例如:
~/dev/scheme/subdir_test$ chicken-install -repository
/home/richardh/dev/chicken/lib/chicken/11
~/dev/scheme/subdir_test$ export CHICKEN_REPOSITORY_PATH="/home/richardh/dev/chicken/lib/chicken/11:/home/richardh/dev/scheme/subdir_test/sub/"
如果你在谷歌上搜索“鸡肉计划virtualenv”,你会发现一些更复杂版本的例子
如果您想安装多个版本的鸡肉,您可能还对“鸡带”和“灰尘”鸡蛋感兴趣
~/dev/scheme/subdir_test$ cat alpha.scm
(import beta)
(print "Hello " (hello_name))
~/dev/scheme/subdir_test$ cat sub/beta.scm
(module beta (hello_name)
(import scheme)
(define (hello_name)
"World")
)
~/dev/scheme/subdir_test$ cd sub/
~/dev/scheme/subdir_test/sub$ csc -s beta.scm -j beta
~/dev/scheme/subdir_test/sub$ cd ..
~/dev/scheme/subdir_test$ csc alpha.scm
~/dev/scheme/subdir_test$ ./alpha
Hello World