Eric Niebler-4 wrote
On 07/29/2014 05:14 PM, Niall Douglas wrote:
I'm all for Concepts as in compiler enforced ones, and I'll add them to AFIO when and only when C++ gets them. But for documentation they don't help.
Wow, I couldn't disagree more. I can't imagine how the standard algorithms would be specified without the use of concepts like "RandomAccessIterator", for instance. Clustering requirements into meaningful abstractions and assigning them names makes it possible to document library interfaces without an explosion of verbosity and repetition.
+10 Usage of concepts is greatly: a) misunderstood b) misunderestimated as to their value in design AND documentation d) The word "concepts" is a big contributor to the problem - substitute "type requirements" or "type constraints" for concepts. c) usage of concepts is much confused with implementation of concepts. Usage of "type constraints" doesn't require any special support from C++. static_assert with type traits is usually all that is necessary. e) recent papers using examples such as "Sortable" add more bad advice and confusion. I've included a page in the Boost Incubator to promote my views on the subject - if anyone cares. http://rrsd.com/blincubator.com/advice_concepts/ The lack of "type constraints" in documentation and code is a big contributor to problems in boost documentation, software design and implementation. Robert Ramey -- View this message in context: http://boost.2283326.n4.nabble.com/Re-GSoC-Boost-Hana-Formal-review-request-... Sent from the Boost - Dev mailing list archive at Nabble.com.