Haskellian fmap

This commit is contained in:
AF 2023-03-26 17:55:52 +00:00
parent 6aa149ee6a
commit 3ac3def389

View File

@ -70,6 +70,12 @@ pub trait Functor: WeakFunctor {
} }
} }
pub fn fmap<'a, T: 'a + Functor, A: 'a, B: 'a>(
f: impl 'a + FnOnce(A) -> B,
) -> impl FnOnce(T::F<'a, A>) -> T::F<'a, B> {
move |fa| T::fmap(f, fa)
}
pub trait ApplicativeSeq: Functor { pub trait ApplicativeSeq: Functor {
fn seq<'a, A: 'a, B: 'a>( fn seq<'a, A: 'a, B: 'a>(
ff: Self::F<'a, impl 'a + FnOnce(A) -> B>, ff: Self::F<'a, impl 'a + FnOnce(A) -> B>,