#type-level #generic #heterogeneous #binary #natural-numbers

nightly shoggoth

Rust 的泛型和类型级别编程

19 个版本

使用旧的 Rust 2015

0.0.19 2015 年 2 月 12 日
0.0.18 2015 年 2 月 11 日
0.0.11 2015 年 1 月 31 日

#1771Rust 模式


用于 2 crates

MIT 许可证

46KB
1.5K SLoC

shoggoth.rs

Rust 的泛型和类型级别编程

build status

那是一个可怕、无法描述的东西,比任何地铁列车都要大——一团无形状的原生质泡沫,微弱地自发光,有成千上万的双眼暂时形成和消失,像绿色光点的脓包一样遍布在填满隧道的正面,压垮了疯狂的企鹅,在其光滑的地板上滑行,它及其同类曾如此邪恶地将所有垃圾清除干净。

——H. P. Lovecraft,《疯狂山脉》

概述

该库实现了泛型和类型级别编程功能。它深受 Miles Sabin 的 Scala 库 Shapeless 的启发。

功能

当前

  • 异构列表
  • 类型级别操作(多参数、柯里化、可组合、高阶)
  • 类型级别的位和布尔值
  • 类型级别的二进制自然数和整数
  • 类型级别的列表(可使用类型级别操作进行映射)
  • 类型级别的列表展开器
  • 类型级别的透镜

未来

  • 更多用于处理 hlists/元组的功能
  • 并构
  • hlist/vinyl 风格的记录
  • 类型级别的二进制有理数
  • 类型宏

文档

请参阅 API 文档 此处.

要求

  1. Rust
  2. Cargo

您可以使用以下命令安装它们

$ curl -s https://static.rust-lang.org/rustup.sh | sudo sh

有关更多信息,请参阅 安装 Rust.

用法

$ cargo build       ## build library and binary
$ cargo test        ## run tests in ./tests
$ cargo bench       ## run benchmarks in ./benches

讨论

freenode(chat.freenode.net)上的 #epsilonz 有一个 IRC 频道。

依赖项