Dear Boost community,
The formal review of Paul Fultz II's Fit library starts on Wednesday, 2nd March and ends on 13th March.
Fit is a header-only C++11/C++14 library that provides utilities for functions and function objects.
- Modern: Fit takes advantages of modern C++11/C++14 features. It support both `constexpr` initialization and `constexpr` evaluation of functions. It takes advantage of type deduction, variadic templates, and perfect forwarding to provide a simple and modern interface.
- Relevant: Fit provides utilities for functions and does not try to implement a functional language in C++. As such, Fit solves many problems relevant to C++ programmers, including initialization of function objects and lambdas, overloading with ordering, improved return type deduction, and much more.
- Lightweight: Fit builds simple lightweight abstraction on top of function objects. It does not require subscribing to an entire framework. Just use the parts you need.
Fit is divided into three components:
* Function Adaptors and Decorators: These enhance functions with additional capability.
* Functions: These return functions that achieve a specific purpose.
* Utilities: These are general utilities that are useful when defining or using functions
Fit has been tested on gcc 4.6-4.9, clang 3.4-3.7, and Visual Studio 2015.
For more information see:
Note that, as Fit is a functional library, the semantic of the functions is given in the form of `equations` instead of the classic effects, returns schema. This is because most of the functions have no side effects.
E.g. the semantic of the function flip is defined as
assert(flip(f)(x, y, xs...) == f(y, x, xs...));and the semantic of compose as
assert(compose(f, g)(xs...) == f(g(xs...)));
We await your feedback!
Vicente J. Botet Escriba
Paul, now it is time to freeze the version that will be reviewed. I suggest you to create a branch on which you could fix the review issues.