AMDG
I've just glanced over the main page of the documentation
and I had a few comments:
- _tuple
Historically names beginning with _ are used for placeholders.
i.e. in Boost.Bind/Lambda/Phoenix/Parameter. Is there
a good reason not to call it tuple?
- // BOOST_HANA_RUNTIME_CHECK is equivalent to assert
In that case, what is the point of using it instead of assert?
I think you should probably avoid using these constructs
in the user documentation of other parts of the library.
It's just a distraction, so it's better to rely on
standard components, which users probably already
understand.
- Is there a reason for using length instead of size,
which would be more idiomatic in C++?
- Amphibian algorithms!!!??? Okay, I guess the
name is kind of clever. I can't say that I
really like it, though.
- foldl/foldr. I really hate these names. I'd prefer
fold/reverse_fold, but even fold_left/fold_right
would be better.
- count is the equivalent of std::count_if, not std::count.
- find/lookup should be find_if/find
- In general I would expect any algorithm that takes
a single element for comparison to have both
f and f_if forms.
- sort(predicate): shouldn't this be sort(sequence)?
In Christ,
Steven Watanabe