|
mpc
Haskell-like feature supports in C++
|
Go to the source code of this file.
Classes | |
| struct | mpc::detail::bind_op |
| bind :: forall a b. m a -> (a -> m b) -> m b More... | |
| struct | mpc::monads::detail::fmap_op |
| fmap :: (a -> b) -> f a -> f b More... | |
| struct | mpc::monads::detail::seq_apply_op |
| seq_apply :: f (a -> b) -> f a -> f b More... | |
| struct | mpc::monads::detail::seq_apply_op::closure |
| struct | mpc::monads::detail::discard1st_op |
| discard1st :: f a -> f b -> f b More... | |
| struct | mpc::detail::karrow_op |
| karrow :: Monad m => (a -> m b) -> (b -> m c) -> (a -> m c) More... | |
Namespaces | |
| namespace | mpc::detail |
| Implementation details are here. | |
| namespace | mpc::cpo |
| Customization point objects are here. | |
| namespace | mpc::monads |
| Methods deducible from other methods of monad . | |
Concepts | |
| concept | mpc::monad_traits_specialized |
| monad_traits_specialized | |
| concept | mpc::monad |
| Requires applicative and bind is valid in monad_traits . | |
Variables | |
| constexpr partial< detail::bind_op > | mpc::cpo::bind {} |
| bind :: forall a b. m a -> (a -> m b) -> m b More... | |
| constexpr partial< detail::fmap_op > | mpc::monads::fmap {} |
| fmap :: (a -> b) -> f a -> f b More... | |
| constexpr partial< detail::seq_apply_op > | mpc::monads::seq_apply {} |
| seq_apply :: f (a -> b) -> f a -> f b More... | |
| constexpr partial< detail::discard1st_op > | mpc::monads::discard1st {} |
| discard1st :: f a -> f b -> f b More... | |
| template<class M > | |
| constexpr auto | mpc::cpo::returns = mpc::pure<M> |
| returns :: a -> m a More... | |
| constexpr partial< detail::karrow_op > | mpc::cpo::karrow {} |
| karrow :: Monad m => (a -> m b) -> (b -> m c) -> (a -> m c) More... | |