mpc
Haskell-like feature supports in C++
functor.hpp File Reference

Go to the source code of this file.

Classes

struct  mpc::detail::fmap_op
 fmap :: (a -> b) -> f a -> f b More...
 
struct  mpc::detail::replace2nd_op
 replace2nd :: a -> f b -> f a More...
 

Namespaces

namespace  mpc::detail
 Implementation details are here.
 
namespace  mpc::cpo
 Customization point objects are here.
 
namespace  mpc::functors
 Methods deducible from other methods of functor .
 

Concepts

concept  mpc::functor
 Requires fmap and replace2nd is valid in functor_traits .
 

Variables

constexpr partial< detail::fmap_op > mpc::cpo::fmap {}
 fmap :: (a -> b) -> f a -> f b More...
 
constexpr partial< detail::replace2nd_op > mpc::cpo::replace2nd {}
 replace2nd :: a -> f b -> f a More...
 
constexpr auto mpc::functors::replace2nd = compose(mpc::fmap, constant)
 replace2nd :: a -> f b -> f a More...
 
constexpr auto mpc::cpo::replace1st = flip % mpc::replace2nd
 replace1st :: Functor f => f a -> b -> f b More...