#combinator #haskell #bird #pointfree #birds

nightly aviary

Aviary 鸟组合子用于 Rust

2 个版本

使用旧的 Rust 2015

0.1.1 2017年10月21日
0.1.0 2017年10月21日

算法 中排名 1506

MPL-2.0 许可证

11KB
327 行(不包括注释)

Rust Aviary

此包是对 Haskell 的 Data.Aviary 组合子的 Rust 重实现。

安装

将以下内容添加到 Cargo.toml 的 [dependencies] 部分

aviary = "0.1.0"

文档

可在 docs.rs 找到

示例:回文检查器

让我们定义一些辅助函数

let eq = &(|x: String, y: String| PartialEq::eq(&x, &y)) as &Fn(String, String) -> bool;
let reverse = |x: String| x.chars().rev().collect::<String>();

并使用 starling 组合子 创建一个函数

let is_palindrome = starling(&eq, &reverse);

确保我们的函数是正确的

assert!(is_palindrome("nisumaa oli isäsi ilo aamusin".to_string()));

贡献

欢迎任何贡献。

无运行时依赖