Boost logo

Boost :

Subject: Re: [boost] [Boost-users] [afio] Formal review of Boost.AFIO
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2015-08-23 18:46:00

Le 24/08/15 00:17, Niall Douglas a écrit :
> On 23 Aug 2015 at 23:57, Vicente J. Botet Escriba wrote:
>> I believe that I need something more about monad<T> than what I have
>> found in the documentation.
> If there is anything missing, please do say in detail.
>> BTW, the link to Boost.Monad [1] is broken in
> I profoundly apologise. In preparation for this review I relocated
> the Boost.Monad documentation onto GitHub's web service at
> as it's more reliably there than
> I obviously forgot to update the link in the AFIO docs, despite
> having specifically moved the docs for this purpose. It's fixed now
> on develop branch. Thanks for the spot.
Is this link part of the review? I don't believe, so could you point me
where the monad class is documented in AFIO? If it is not documented,
why it is used so broadly.
>> Just a question, does the user need to use some APBind interfaces or is
>> this just an internal implementation detail (Sorry, I don't know nothing
>> about APBind)?
> If you want AFIO to use Boost.Thread, you define
> BOOST_AFIO_USE_BOOST_THREAD=1 before including. Else it uses the STL
> thread. The same goes for BOOST_AFIO_USE_BOOST_FILESYSTEM and
> If you want to always use latest AFIO, you bind afio like this:
> namespace afio = boost::afio;
> If you want to pin a specific ABI which won't break in the future,
> you bind afio like this:
> namespace afio = BOOST_AFIO_V2_NAMESPACE;
Where can I find the description of this macro on the reference
> That's probably all most people care about. More advanced stuff can
> be seen at
> tml.
>> It will be easier to know the scope of the review and what is left for
>> the near future. Is the monad part of the review?
> I am happy to accept bug reports on monad<T>. But I don't think the
> AFIO review is reviewing monad<T>, nor do you need to.
If class monad is not included in AFIO, the documentation shouldn't use it.
> I mean, if you like the design of boost::shared_future<T>, then by
> definition you like the design of monad<T>. I would have said
> monad<T> is therefore uncontroversial, as it's already in
> Boost.Thread and is very well understood (especially by you
> Vicente!).
I've already post in this ML some of my concerns respect to this class.
> Just everywhere where you see monad<T>, replace it in your mind with
> boost::shared_future<T>. It has the same API and same behaviour.
I would prefer to don't need to do that. You say that monad is like a
shared_future ready, so why don't you just replace the uses of monad by
shared_future<T> in the documentation so we know of what we are talking of.

Sorry but I can not review a document that makes reference to things
that are not yet adopted by Boost.

We have two options:
* we wait to review AFIO once Monad is reviewed in Boost
* You include in AFIO, whatever you consider is need from Monad and only
then we review AFIO.


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