#future #monads #do

mdo-future

为 rust-mdo 提供零成本 futures 支持

2 个不稳定版本

使用旧的 Rust 2015

0.2.0 2017年2月27日
0.1.0 2017年2月9日

9#do

WTFPL 许可证

7KB
143

rust-mdo-future

Rust-mdo-future 是一个小型crate,它使 mdo 能够支持 futures

只需看一下

#[macro_use] extern crate mdo;
extern crate mdo-future;

use futures::Future;
use futures::future::ok;
use futures_cpupool::CpuPool;
use mdo-future::future::{bind, ret};

//....
// Somewhere in code

let pool = CpuPool::new_num_cpus();

let get_num = ok::<u32, String>(42);
let get_factor = ok::<u32, String>(2);

let res = mdo! {
    arg =<< get_num;
    fact =<< get_factor;
    ret ret(arg * fact)
};

let val = pool.spawn(res);

assert_eq!(val.wait().unwrap(), 84);

//....

依赖项

~53KB