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

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

#include <monad.hpp>

Classes

struct  closure
 

Public Member Functions

template<class Mab , class Ma >
constexpr auto operator() (Mab &&mab, Ma &&ma) const noexcept(noexcept(mpc::bind(std::forward< Mab >(mab), partial(closure{}, std::forward< Ma >(ma))))) -> decltype(mpc::bind(std::forward< Mab >(mab), partial(closure{}, std::forward< Ma >(ma))))
 

Detailed Description

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

(<*>) in Haskell

seq_apply mf xs = mf `bind` (\f -> 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::seq_apply_op > seq_apply
seq_apply :: f (a -> b) -> f a -> f b
Definition: monad.hpp:106

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