Boost logo

Boost :

Subject: Re: [boost] [GSoC] [Boost.Hana] Formal review request
From: Robert Ramey (ramey_at_[hidden])
Date: 2014-07-31 13:54:59

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.


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
e) recent papers using examples such as "Sortable" add more bad advice and

I've included a page in the Boost Incubator to promote my views on the
subject - if anyone cares.

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:
Sent from the Boost - Dev mailing list archive at

Boost list run by bdawes at, gregod at, cpdaniel at, john at