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.

+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-tp4665622p4665890.html
Sent from the Boost - Dev mailing list archive at Nabble.com.

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk