effectful 0.3.0

Effect<A, E, R> (sync + async), context/layers, pipe — interpreter-style, no bundled executor
Documentation
1
2
3
4
5
6
7
8
9
use effectful::{Effect, effect, from_async, run_blocking};

fn main() {
  let program: Effect<i32, (), ()> = effect! {
    bind* from_async(|_| async move { Ok::<i32, ()>(42) })
  };

  assert_eq!(run_blocking(program, ()), Ok(42));
}