7 个版本
0.3.2 | 2024年6月24日 |
---|---|
0.3.1 | 2024年6月24日 |
0.2.2 | 2024年6月23日 |
0.1.0 | 2024年6月22日 |
#45 in #scheme
110KB
511 行代码(不含注释)
racket-sys
Racket C API 的 Rust 绑定
关于 Racket: https://racket-lang.org/.
先决条件
- 基础环境:Rust 工具链、Clang 工具链和 Racket 安装
- Windows:
Visual Studio
- MacOS:
Xcode CommandLine tools
,iconv
,ncurses
- Linux
- 仅在 Ubuntu 24.04 上进行测试
sudo apt install racket libncurses-dev
,liblz4-dev
,libzstd-dev
安装
使用捆绑的 Racket(默认特性)
此包包含为 Windows、MacOS 和 Linux 预构建的 Racket 运行时。
- 对于 Windows 和 MacOS,捆绑的 Racket 8.13 来自官方 Racket 发行版。
- 对于 Linux,捆绑的 Racket 8.10 来自 Ubuntu APT。
使用系统 Racket
设置环境变量(见下文)
-
RACKET_CS_VERSION
:仅适用于 MacOS。如未设置,则默认为8.13
。 -
RACKET_CS_HOME
:Racket 安装目录。如未设置,则默认为- Windows:
C:\Program Files\Racket
- MacOS:
/Applications/Racket v{RACKET_CS_VERSION}
- Linux:
/usr
- Windows:
示例
-
helloworld examples/helloworld.rs
cargo run --example helloworld
Windows 上的截图
-
factorial examples/factorial.rs 和 examples/factorial.rkt
此示例演示了如何在 Rust 代码中调用 Racket 模块。
cargo run --example factorial
Windows 上的截图
注意:将环境变量
RKT_COLLECTS_DIR
设置为racket installation/collects
。例如,在 MacOS 上RKT_COLLECTS_DIR=/Applications/Racket\ v8.13/collects cargo run --example factorial
APIs
https://rn7s2.github.io/racket-sys/racket_sys/
阅读 https://docs.racket-lang.org/inside/cs-embedding.html 了解如何将 Racket 集成到您的应用程序中的更多信息。
无运行时依赖
~0–2MB
~40K SLoC