1 个不稳定版本
0.1.0 | 2023年1月23日 |
---|
#850 在 编程语言
51KB
727 行
Lamb
lamb
是在现代安全Rust中实现的纯无类型λ演算的实现。
安装
-
库
在
Cargo.toml
中将lamb
添加为依赖项[dependencies] lamb = "0.1.0"
Cargo 特性
repl
和prelude
也可以启用,以与REPL和预定义项进行接口交互[dependencies] lamb = { version = "0.1.0", features = ["repl", "prelude"] }
-
二进制文件
通过Cargo安装
lamb
cargo install lamb
特性
-
库
默认
- 程序化构建项
- 使用不同的归约策略进行β归约
- 实现自定义β归约策略
启用
prelude
- 使用预定义项
启用
repl
- 从字符串解析项
- 程序化构建REPL并执行命令
-
二进制文件
- 使用任何预定义的β归约策略进行β归约
λ> (λx. x) (w z) Info: Reduced 1 times w z λ>
- 将项绑定到名称以自动替换未来的自由变量
λ> id = λx. x; const = λx y. y; Info: Binding id added Info: Binding const added λ>
- 显示或更改β归约限制
λ> :limit 1024 Info: Reduction limit set to 1024 λ> :limit Info: Current reduction limit is 1024 λ>
- 优雅地退出
λ> :exit
- 使用任何预定义的β归约策略进行β归约
依赖项
~0–540KB