Crates.io | lambda |
lib.rs | lambda |
version | 0.0.1 |
source | src |
created_at | 2014-12-24 01:58:41.223247 |
updated_at | 2015-12-11 23:53:50.453159 |
description | Utilities and macros for functional programming with closures |
homepage | |
repository | https://github.com/epsilonz/lambda.rs |
max_upload_size | |
id | 633 |
size | 7,039 |
Utilities and macros for functional programming with closures
This library is a higher level counterpart to some of the epsilonz libraries such as epsilonz/morphism.rs.
#[test]
fn test_example_readme() {
use std::iter::AdditiveIterator;
use std::num::Float;
let f =
λ!(| x | 2u64 * x)
.o(| x | 1.5f64 + x.to_f64().unwrap())
.o(| x | x.floor().to_u64().unwrap());
let res = range(0u64, 9).map(f).sum();
assert_eq!(res, 81);
}
See the API documentation here.
You can install both with the following:
$ curl -s https://static.rust-lang.org/rustup.sh | sudo sh
See Installing Rust for further details.
$ cargo build ## build library and binary
$ cargo test ## run tests in ./tests
$ cargo bench ## run benchmarks in ./benches
There is an IRC channel on freenode (chat.freenode.net) at #epsilonz.