Boost logo

Boost :

Subject: Re: [boost] Why a concrete monad class? (was Re: [next gen futures] Lightweight monad ready for inspection)
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2015-07-01 20:54:37

On 1 Jul 2015 at 19:22, Vicente J. Botet Escriba wrote:

> >> Niall, I don't see why do you need to define a concrete monad class that
> >> is used to define other monadic types. The implementation of each
> >> specific monadic type has its own trade-offs.
> Could we then avoid to mention the monad class on these threads as it is
> an implementation detail.

basic_monad is the base class of everything. You probably wouldn't
use it directly, so it's an implementation detail.

monad<T> is a user facing specialisation for convenient use.

> So what are the public classes you would present for review?

Documentation for lightweight future promise:

Documentation for monads, which are base classes of the futures:

Note the futures are not finished yet. I don't expect them to be
considered finished until around 11th July. I have yet to do:

 - [ ] Implement N4399 continuations extended with monadic bind etc.
 - [ ] wait() should sleep the thread as necessary.
 - [ ] Implement wait_for()/wait_until().
 - [ ] when_any/when_all composure.


ned Productions Limited Consulting

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