1 unstable release
Uses old Rust 2015
0.0.1 | Dec 24, 2014 |
---|
#6 in #stackless
5KB
63 lines
lambda.rs
Utilities and macros for functional programming with closures
Synopsis
This library is a higher level counterpart to some of the epsilonz libraries such as epsilonz/morphism.rs.
Examples
#[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);
}
Documentation
See the API documentation here.
Requirements
You can install both with the following:
$ curl -s https://static.rust-lang.org/rustup.sh | sudo sh
See Installing Rust for further details.
Usage
$ cargo build ## build library and binary
$ cargo test ## run tests in ./tests
$ cargo bench ## run benchmarks in ./benches
Discussion
There is an IRC channel on freenode (chat.freenode.net) at #epsilonz.
Dependencies
~12KB