Boost logo

Boost :

Subject: Re: [boost] Monad
From: Michael Marcin (mike.marcin_at_[hidden])
Date: 2015-08-26 21:48:22

On 8/26/2015 7:57 AM, Glen Fernandes wrote:
> 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.

A link to this thread should appear next to bikeshedding in the dictionary.

At this point I'd change the name to Outcome just in the hopes that all
the people that have made their opinions known about the name of this
utility could move their focus to the library under review.

For my 2cents if I can live with names like Qi Hana Spirit Wave and
std::vector I think I can manage with monad as is.

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