Boost logo

Boost :

Subject: Re: [boost] Final lightweight monad, next gen futures and upcoming AFIO review
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2015-06-29 06:12:13


On 29 Jun 2015 at 8:37, Vicente J. Botet Escriba wrote:

> > Empty => False (future/monad/result/option)
> > Errored/Excepted => Indeterminate (future/monad/result)
> > Value => True (future/monad/result/option)
>
> The meaning of empty in optional/option and future is not the same. For
> the fist is a valid state, for the second is an invalid state.
> In addition asynchronous types have an additional state not-ready, e.g.
> future can be invalid, not-ready, exceptional or valued.

Indeed very true. One of my worries in my design is that you cannot
send an empty state via future<T>, only a T/error/exception. I
console myself that future<void> effectively means sending an empty
state, however in monad<void> empty state is not void state.

That's one of my design tradeoffs. I don't much like it, but it does
make the code much simpler. I am essentially trusting that the
programmer does not do anything too silly.

Niall

-- 
ned Productions Limited Consulting
http://www.nedproductions.biz/ 
http://ie.linkedin.com/in/nialldouglas/



Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk