Boost logo

Boost :

Subject: [boost] Boost.Hana
From: Glen Fernandes (glen.fernandes_at_[hidden])
Date: 2015-07-07 01:42:42


Dear Ron, Louis, and Boost developers,

The review period for Hana has concluded. 18 reviews were submitted:
- 17 votes for acceptance. (1 of these was conditional upon Hana
  wholly supporting a second C++ implementation however).
- 1 vote for rejection; for lack of compiler support.

I submit that Hana be accepted into Boost. I want to congratulate Louis:
the Boost community wants Hana to become an official Boost library.
Thank you again, Louis, for your work on Hana and for contributing it
to Boost.

I propose we require, prior to Hana's inclusion in a Boost release, only
that:
1. Hana's unit tests to be integrated into Boost's regression tests. If
   this requires maintaining both CMakeLists.txt and .b2 files, it is
   still worth it. I am willing to assist with this effort (and the
   invitation extends to anyone in the community to also contribute to
   the task). For release managers, potential Hana contributors, or just
   the general developer community in Boost, to see Hana's test cases in
   http://boost.org/development/tests/master/developer/summary.html will
   be useful.

I trust, but do not mandate before Hana is officially accepted into
Boost, that:
1. All GitHub issues pertaining to implementation and documentation that
   were opened by Louis in response to review feedback (or by others,
   such as Vincente, that were approved by Louis) will be addressed
   eventually (as long as they remain relevant).

I personally would ask for, but do not require for Hana's acceptance,
that:
1. That Hana's non-reference documentation live outside of the source
   code. The presentation of Hana's documentation is great; it looks
   modern, is easy to browse. I am not a fan of the prose living inside
   hana.hpp though (API reference documentation is the only exception).
2. Louis to investigate further the possibility of a Hana core library
   if such can be achieved with zero overhead (instead of focusing that
   effort onto a separate library that provides only a subset of Hana's
   functionality).

On the note of Hana's current support in existing C++ implementations:
- While Hana is wholly only supported by clang at present, gcc is not
  far behind. Given the trend of language conformance, it is reasonable
  to expect Hana will be entirely supported in a future gcc release.
- Hana targets the C++ standard (i.e. This isn't a case of targeting
  any compiler-vendor specific extensions) and any highly-contentious
  C++ language features within (e.g. This isn't something like a
  pre-C++11 library that uses 'export' that only builds with an EDG
  compiler).
- The community now has expressed sufficient interest in both kinds of
  libraries being part of Boost: Highly portable libraries that target
  implementation-specific features, and maintain compatibility with even
  legacy compilers; standard conforming, modern, libraries that are free
  of the maintenance debt of ancient compiler support.
- We need more libraries taking advantage of C++14 language features to
  drive vendor conformance. A standard may only be as potent as the
  C++ implementations that support support it, but when one (such as
  clang does) does, others will be more driven to follow suit when
  real (and highly desired) projects take advantage of it.

My thanks to everyone that participated in Hana's review with a
review (Edouard, John Fletcher, John Bytheway, Niall, Krzysztof, Manuel,
Roland, Christophe, David Stone, David Sankel, Lorenzo, John, Paul,
Zach, Kohei, Charley, Vincente, Abel) as well as discussion and bug
reports.

Best,
Glen


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