Boost logo

Boost :

Subject: Re: [boost] This AFIO review
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2015-08-23 10:33:05

On 22 Aug 2015 at 23:18, Robert Ramey wrote:

> To put things in perspective, I might relate my experience along these
> lines with the serialization library.

Firstly, thanks for the story. I found it very supportive.

> Having said that, I did follow he discussion of Monad and was not
> convinced it is suitable as a real library. No need to go in details here.

I will say I find monad<T> an enormous time saver. I find myself
writing most of my functions since Monad as noexcept, and letting
monad<T> convert exception throws into returned monads. That reduces
the time to implement exception safety hugely by constraining the
paths of execution flow inversion, and has led to a substantial speed
up in my development productivity.

> I saw a little bit of the discussion and attended Niall's presentation
> on API Bind. As far as I can tell, this addresses the issue of library
> API versioning. This is a subject we've never explicitly addressed and
> is much bigger than one library. To make sense it really has to be
> considered as more than just an implementation detail of the AFIO
> library. But for now, the only way forward is to consider it as only an
> implementation detail of the AFIO library which offers facilities for
> library version control that other libraries don't offer. I think it was
> a mistake for Niall to include this - it's going to be tough enough to
> get AFIO over the bar without carrying any extra conceptual baggage. A
> typical programmer problem - scope creep - I plead guilty.

I unfortunately suspect you are right.

I implemented APIBind to solve a local problem I had and tried
proposing it as a bigger solution for wider ills, but few if nobody
here was interested.

But that's okay. It still lets me switch between STL implementations
and API versions very easily, and I make heavy use of that facility
in my automated testing. It's a big win for me here locally. I expect
to be using APIBind in any new C++ library I write into the future.


ned Productions Limited Consulting

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