Subject: Re: [boost] [Boost-users] [afio] Formal review of Boost.AFIO
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2015-08-24 13:25:20
Le 24/08/15 03:29, Niall Douglas a écrit :
> On 24 Aug 2015 at 0:46, 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.
>> 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.
> It is used in the tutorial because as we progress through each stage
> of increasing complexity, you can see that the data_store class
> member functions lookup() and write() have either a monad<T> or a
> shared_future<T> return type depending on whether the API is
> synchronous (monad<T>) or asynchronous (shared_future<T>).
> I was trying to keep the interface class for each stage as identical
> as possible, so monad<T> was a natural fit to make the STL iostreams
> example look exactly like the AFIO asynchronous example. I suppose
> what you're saying here is that the tutorial should not be using
> monad<T> because monad<T> is not documented in AFIO.
The intention was not clear to me. I believe that this concern belongs
more to a Monad library.
> I can easily rewrite the tutorial code to not use monad<T>, it's no
>>> 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
I asked for the reference documentation, not the tutorial.
>> 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.
> I can remove monad<T> from all the tutorial code. Or I can include
> documentation of monad<T> in AFIO. Which would you prefer?
I believe that your Monad library would have a lot of issues, so for
your interest I believe it is better to remove it from AFIO.