Boost.Hana: Todo List

| Boost.Hana 1.0.0 Your standard library for metaprogramming |

Todo List

Namespace boost
  Until we strip down headers, this includes too much
Member boost::hana::ap
  Consider giving access to all the arguments to the tag-dispatched implementation for performance purposes.
Class boost::hana::at_key_detail::advance_until< Xs, Pred, i, N, Done >
  This causes an awful duplication of code with `find_if`.
Class boost::hana::constant_detail::which< A, B, C >
  This is an awful hack to avoid having
  1 common<integral_constant_tag<int>, integral_constant_tag<long>>
  2 ==
  3 CanonicalConstant<long>
Class boost::hana::detail::has_duplicates< T >
  This implementation is O(n^2). We could do it in O(n), but that would require a more elaborate setup including storage with O(1) lookup (which could be based on a compile-time hash). If we implement such storage for associative sequences, we could use it to optimize this.
Member boost::hana::max
  Can't specify the signature here either. See `min` for details.
Member boost::hana::min
  We can't specify the signature right now, because the tag of the returned object depends on whether `x < y` or not. If we wanted to be mathematically correct, we should probably ask that `if_(cond, x, y)` returns a common data type of `x` and `y`, and then the behavior of `min` would follow naturally. However, I'm unsure whether this is desirable because that's a big requirement.
page User Manual

  Improve this explanation and talk about non-integral constant expressions wrapped into types.

  Explain how side-effects may not appear inside constant expressions, even if the expression they yield are not accessed.