Boost logo

Boost :

Subject: [boost] Mini review of the Fit library
From: Glen Fernandes (glen.fernandes_at_[hidden])
Date: 2017-09-21 11:52:24


What follows is my mini review of the Fit library. I had no time to write a full
review, but feel that most of my points have been covered by others in both the
first and this second review.

A. Should the library be accepted into Boost?

Yes; I vote to accept Fit - with no conditions for acceptance.

B. What is your evaluation of the design?

I found it:
1. Practical: For facilities like BOOST_FIT_LIFT.
2. Innovative: For facilities like infix().

And overall useful.

C. What is your evaluation of the implementation?

Good. Appears to be correct C++ code, and is definitely written in a very
maintainable way.

Ordinarily I'm in favor of not seeing macros used for what is accomplished by
FIT_INHERIT_DEFAULT, FIT_INHERIT_CONSTRUCTOR, and similar, but this is a minor
thing, and it does serve to make the code smaller and easier to review.

I also like that the lowest version of C++ standard support required is C++11
(and not higher), as I am still aware of a large enough pre-C++14 user base that
do have access to and use Boost libraries.

D. What is your evaluation of the documentation?

Excellent. Better than what I generally write. Useful enough for me, and in my
opinion, sufficient for understanding the library and learning how to use it -
for any user that takes the time to read through it all.

E. What is your evaluation of the potential usefulness of the library?

I believe it to be useful, and I know of at one developer that I have suggested
Fit to, that has started using it - and another that would like to start using
it if it is included in a Boost release (for which their organization has
blanket approval to use).

F. Did you try to use the library? With which compiler(s)?
   Did you have any problems?

Not recently, but Yes. With g++ 6.3. I encountered no problems.

G. How much effort did you put into your evaluation? A glance? A quick reading?
   In-depth study?

I had spent at least 3+ hours looking into Fit with the intention of reviewing
it for my own use, and learning how one part of it was implemented. I did not
have a chance to spend as much time as I would normally have to write a full
review of the library.

H. Are you knowledgeable about the problem domain?

Familiar with enough functional programming design and generic programming to
appreciate the library.

Other notes:

No concern about the name. We have Beast, Hana, Spirit; Fit is a fine enough
name, and boost::fit:: is a convenient enough prefix.

Glen


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