mpc
Haskell-like feature supports in C++
mpc::monads::detail::fmap_op Struct Reference

fmap :: (a -> b) -> f a -> f b More...

#include <monad.hpp>

Public Member Functions

template<class Fn , class Ma >
constexpr auto operator() (Fn &&fn, Ma &&ma) const noexcept(noexcept(mpc::bind(std::forward< Ma >(ma), compose(mpc::pure< Ma >, std::forward< Fn >(fn))))) -> decltype(mpc::bind(std::forward< Ma >(ma), compose(mpc::pure< Ma >, std::forward< Fn >(fn))))
 

Detailed Description

fmap :: (a -> b) -> f a -> f b

fmap f xs = xs `bind` (returns . f)
constexpr partial< detail::bind_op > bind
bind :: forall a b. m a -> (a -> m b) -> m b
Definition: monad.hpp:45
constexpr auto returns
returns :: a -> m a
Definition: monad.hpp:143
constexpr partial< detail::fmap_op > fmap
fmap :: (a -> b) -> f a -> f b
Definition: monad.hpp:103

The documentation for this struct was generated from the following file: