Hi, Firstly, sorry for submitting my review so late.
- Whether you believe the library should be accepted into Boost
Yes. Although the submission is not perfect, I prefer boolean logic, and, therefore Fit a 1 for me.
- Your name
Krzysztof Jusiak
- Your knowledge of the problem domain.
I have been implementing similar solutions myself when experimenting with lambdas. I have also checked out functional part of Hana library.
You are strongly encouraged to also provide additional information: - What is your evaluation of the library's: * Design
IMHO design is decent. Functionality is loosely coupled and really easy to follow. There are a few inconsistencies here and there but there were pointed out already and they don't have a huge impact on the overall solution.
* Implementation
Quite a lot of macros but most of these are due to lack of language features or compilers bugs. Besides that, it looks alright. Moreover, I do agree with most issues pointed out already.
* Documentation
Motivation could have been much better. Examples showing how much pain might be saved using Fit in comparison to writing the same things by hand would be great. Moreover, ready to copy examples would simplify testing the library. Personally, I would also add disassembled code for these examples showing how well-optimized code Fit can produce. Maybe, it's worth to add try-it-online functionality too?
* Tests
Tests are short and easy to follow. I can't see coverage but it seems like most things are tested. Travis addition with each push make me confident that the library is always in a good shape. I would like to see performance tests though for both compilation times and run times.
* Usefulness
IMHO Fit is defo a library to have in Boost for modern C++ development. I find the solutions provided by Fit very useful as I have been writing similar functionality myself. Nevertheless, documentation needs improving (as it was stated already) in order to state the purpose more clearly with clean examples. I have been worrying that there will be a clash with Hana. Having 2 modern libraries providing similar functionality would be confusing, however, my concerns were already clarified by Louis.
- Did you attempt to use the library? If so: * Which compiler(s)
Clang 3.7/3.8/HEAD, MSVC 2015
* What was the experience? Any problems?
No issues.
- How much effort did you put into your evaluation of the review?
A few hours for the review, however, I have been looking and trying Fit for a while. Cheers, Kris