hado 0.1.1

Monadic do notation using a macro
Documentation
extern crate hado;

use hado::Monad;

#[test] #[ignore] fn empty_list_is_empty_list() {
    assert_eq!(
        { let t: Vec<u32> = vec![]; t },
        Monad::<Vec<u32>>::bind(Vec::new(), |_: u32| vec![0, 0])
    );
}
#[test] #[ignore] fn two_lists_multiply() {
    assert_eq!(
        { let t: Vec<u32> = vec![0, 0, 0, 0, 0, 0]; t },
        Monad::<Vec<u32>>::bind(vec![0, 0, 0], |_: u32| vec![0, 0])
    );
}
#[test] #[ignore] fn duplicate_list() {
    assert_eq!(
        { let t: Vec<u32> = vec![0, 0, 1, 1, 2, 2]; t },
        Monad::<Vec<u32>>::bind(vec![0, 1, 2], |x: u32| vec![x, x])
    );
}