tylar 0.1.2

Type-Level Arithmetic in Rust
docs.rs failed to build tylar-0.1.2
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: tylar-0.2.2

tylar crates.io Build Status

Type-Level Arithmetic in Rust.

Supports addition, subtraction, multiplication and division of (small-ish*) type-level integers.

Inspired by Björn Buckwalter's numtype library for Haskell. Brought to Rust thanks to multidispatch and associated types.

* Numbers in the range (–50,50) should mostly work, depending on the operations. Typechecking might be rather slow.

Example

// N2 is the type for -2, P5 is +5, Out is the result type
// of the addition; new() creates a new instance (actually a
// no-op, since the types are zero-sized) and into() turns
// the object into an integer value, computed at compile-time
// due to static dispatch.
let result: i32 = <N2 as Add<_,P5>>::Out::new().into();
println!("-2 + 5 = {}", result); // prints `-2 + 5 = 3`

For more, see examples/basics.rs and run cargo run --example basics.

Unfortunately these examples (and therefore also cargo test) do not work with Rust 1.0, but tylar itself is compatible and usable with Rust 1.0.