1 个不稳定版本
0.1.0 | 2022年1月31日 |
---|
#30 in #scheme-interpreter
15KB
208 行
chez-sys
目前仅支持64位Linux,禁用了curses和x11。
注意:所有头文件函数都已实现(一些功能性的 #define
缺失)。
引导文件
为目标操作系统构建的引导文件被移动到Cargo的 OUT_DIR
。也会设置特定文件的环顾变量。
petite.boot
可以通过PETITE_BOOT_PATH
访问。scheme.boot
可以通过SCHEME_BOOT_PATH
访问。
这些引导文件是启动Scheme解释器(这反过来又需要与任何交互)所必需的。这不是 chez-sys
将要解决的问题。
下载仓库而不是作为供应商
不幸的是,ChezScheme仓库包括其仓库中每个支持目标的引导文件。这完全合理,因为它们对于引导过程是必需的,但这使得cargo包的大小超过10MB。如果你只使用 一个 引导文件,则包的大小约为7MB。
然而,创建不同的 chez-arch-sys
仓包也感觉非常荒谬,这会导致将约70MB上传到 crates.io
,而不是约30MB用于打包一切的仓包。因此,与其去骚扰那些令人惊叹的Rust人们,不如咬紧牙关去下载。
有两个潜在的解决方案
-
一些仓包被允许有特殊的权限,超过10MB,但尚不清楚
chez-sys
仓包是否符合这些要求。应该花一些时间看看这个仓包获得多少牵引力和使用率,然后再要求特殊的权限。 -
理论上可以通过编译到WASM来构建通用的引导文件。然后可以使用 WASM解释器 来引导过程。上游将添加这个引导文件到所有其他文件的列表中,而
chez-sys
将排除除引导文件之外的所有内容进行打包。这还有其他好处,如允许在网络上运行Chez Scheme REPL,因此可能在这里有一些牵引力。