Boost logo

Boost :

Subject: Re: [boost] Monad (was: Re: [Boost-users] [afio] Formal review of Boost.AFIO)
From: Glen Fernandes (glen.fernandes_at_[hidden])
Date: 2015-08-26 08:57:52

Paul wrote:
> these are all *outcomes* - of varying types of varying and unspecified
> Thingy.

Niall wrote:
> I like Boost.Outcome and boost::outcome::basic_outcome<Policy>.
> Do these make sense however:
> outcome<T>: Can be empty/T/error_code/exception_ptr.
> result<T>: Can be empty/T/error_code.
> option<T>: Can be empty/T.

Isn't "Outcome" no less generic and unspecific as "Result"? All of
Boost.Monad, Boost.Outcome, or Boost.Result, seem like terrible names to me.

We already name specific result types for the kind of result they are (I'm
glad boost::optional is not boost::result). Why not name monad types for the
specific kind of monad they are?

Unless this "Monad" library isn't about offering a concrete type called
"boost::monad" but instead is just a library to enable someone write their
own monad types.


View this message in context:
Sent from the Boost - Dev mailing list archive at

Boost list run by bdawes at, gregod at, cpdaniel at, john at