2 个不稳定版本
0.2.0 | 2022年9月19日 |
---|---|
0.1.0 | 2022年5月6日 |
#1726 in 命令行工具
80KB
1.5K SLoC
这是一个理解 𝜑-演算表达式的处理器实验性模拟器,它是 EO 编程语言背后的形式化。
要构建它,请安装 Rust 然后进行以下操作:
$ cargo build --release
如果一切顺利,可执行的二进制文件将在 target/release/fibonacci
$ target/release/fibonacci 7 40
这将计算第 7 个斐波那契数 40 次。不要尝试与更大的数字玩,这个二进制代码非常慢。这只是一个实验。
要编译您自己的程序而不是这个原始的递归斐波那契计算器,您必须将 EO 代码转换为 𝜑-演算表达式,然后将它们传递给 Emu
结构,如下所示
use phie::emu::Emu;
pub fn main() {
let emu: Emu = "
ν0 ↦ ⟦ 𝜑 ↦ ν3 ⟧
ν1 ↦ ⟦ Δ ↦ 0x002A ⟧
ν2 ↦ ⟦ λ ↦ int-add, ρ ↦ 𝜋.𝛼0, 𝛼0 ↦ 𝜋.𝛼1 ⟧
ν3 ↦ ⟦ 𝜑 ↦ ν2(ξ), 𝛼0 ↦ ν1, 𝛼1 ↦ ν1 ⟧
ν5 ↦ ⟦ 𝜑 ↦ ν3(ξ) ⟧
".parse().unwrap();
let dtz = emu.dataize();
print!("The result is: {}", dtz.0);
}
此代码等同于以下 EO 代码
[] > foo
42 > x
x.add x > @
但以更“函数式”的方式
[] > foo
42 > x
int-add > @
x
x
更多测试在 src/emu.rs
文件中。
在提交更改之前运行和修复 Clippy 检查问题
- 安装 Rustup。如果 Rustup 已经安装,请更新以确保拥有最新的 Rustup 和编译器。
$ rustup update
- 安装 Clippy。
$ rustup component add clippy
- 运行 Clippy。
$ cargo clippy
- 自动应用 Clippy 建议(并非所有问题都会自动解决。此外,Clippy 对于某些 lint 的一些错误案例有误报,因此最好也检查自动修复)。
$ cargo clippy --fix
依赖关系
~5–15MB
~170K SLoC