Boost logo

Boost :

From: Michael Caisse (mcaisse-lists_at_[hidden])
Date: 2020-08-28 22:27:02

I want to thank Emil for his patience for the publishing of the review
results as life got in my way.

Thank you Emil for submitting LEAF to be reviewed for inclusion into
Boost. As an already-Boost-author, you knew what you were getting into
and continued into the process. I also want to thank you for once again
pushing our thoughts on error handling.


This is the part everybody scrolls to the bottom to read, so let’s just
put it at the top. Boost.LEAF is ACCEPTED into Boost. After the
following modifications are made to the library, the repository can be
transitioned to Boost for inclusion into the next release (with the
release cycle timing constraints):

Specify the TLS requirement sooner in the documentation.
Optional usage of Boost.Config to perform all of the Boost Configy
things. (further discussion on this below)
Macro naming and general Boostification clean-up.


There was a good amount of discussion about the library on both the dev
and user mail lists. I want to personally thank those who got involved
in the review. You make the process work!

Result summary:

   Accept: 7
   Reject: 1
   No-decision: 3

The no-decision reviews provided valuable input and discussion threads.
While it would be my preference to have the review authors provide a
final verdict, I was grateful for the time and energy they spent with
the library and formulating thoughts into emails for discussion.

Some comments from reviews:

“I find function preload() really great and novel. … This really makes
the error reporting code brief, clean and bug-free.”

“I like LEAF very much and there's a lot offered here…”

“I like it.”

“ allows bridging multiple error handling strategies and usage
patterns in an efficient way.”

About the docs:
“They look good and manage to explain hard concepts in a very
approachable fashion.”

“The documentation is great -- in terms of styles it's probably the best
I've seen for a C++ library.”

“Clear, friendly and complete.”

Some Thoughts

While there was overwhelming consensus that LEAF should be included into
Boost, the process is not democratic. I have spent considerable time
understanding the concerns raised in each of the reviews and in
particular the singular rejection.

Emil took time responding to each of the reviews. The exchanges were
fruitful and both “conditional accept” and “reject” reviewers changed
their verdicts to accept along the way. Most of the concerns were
amicably resolved. I am comfortable with the design choices and
implementation made by the author for the remaining items.

One reviewer brought up the re-implementation of Boost.Config type
facilities. This of course is a complex issue for a library with zero
dependencies. The ability to simply drop the Boost.LEAF directory into a
project and run is a definite plus for a specific user segment. Being
able to modify a single Boost.Config repository to support
WackyCompiler14 targeting LEG Core and get a bunch of libraries for the
ride is also a plus. Emil and I have discussed these concerns and the
best choice seems to be defaulting to zero dependencies and the option
to pull in Boost.Config to provide configuration type facilities if needed.

Accepting a library into Boost is as much about the library as it is
bringing the author into a group. While Emil is already part of the
author crowd, it was clear to me through his careful, informative, and
patient responses that the addition of Boost.LEAF brings professional
maturity that strengthens the community.

A user with more than a year of experience with the library voted
acceptance based on the “qualities of the library itself and the
responsiveness and openness for feedback of its author.”

Throughout the review period, Emil integrated feedback to both the
documentation and code in another branch. It was wonderful to see the
community provide input and the author respond so quickly to produce a
better final result.

Thank you Emil for your vision of better error handling and striving to
bring us along!

Michael Caisse
Ciere Consulting

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