1 2 3 4 5 6 7 8 9 10
use crate::apply::Apply; use crate::pure::Pure; pub trait Applicative<A, F, B>: Apply<A, F, B> + Pure<A> where F: FnOnce(A) -> B, { } impl<A, F, B> Applicative<A, F, B> for Option<A> where F: FnOnce(A) -> B {}
1 2 3 4 5 6 7 8 9 10
use crate::apply::Apply; use crate::pure::Pure; pub trait Applicative<A, F, B>: Apply<A, F, B> + Pure<A> where F: FnOnce(A) -> B, { } impl<A, F, B> Applicative<A, F, B> for Option<A> where F: FnOnce(A) -> B {}