Subject: Re: [boost] [Concepts] Definition. Was [GSoC] [Boost.Hana] Formal review request
From: Roland Bock (rbock_at_[hidden])
Date: 2014-08-05 04:59:34
On 2014-08-05 10:30, Krzysztof Czainski wrote:
> 2014-08-05 6:33 GMT+02:00 Michael Shepanski <mps_at_[hidden]>:
>> On 5/08/2014 1:39 AM, Roland Bock wrote:
>>> On 2014-08-04 13:32, Mostafa wrote:
>>>> Concepts are sets of types
>>> I think you are mistaken. A concept is a set of requirements,
>> I am under a New Year's resolution not to start philosophical arguments,
>> but this one has already begun, so ...
> Please don't forget, that not all requirements can be checked at compile
> time. For example: TotallyOrdered. Just by checking, that an expression
> (a<b) is valid and yields something boolable, you can't distinguish between
> TotallyOrdered, PartiallyOrdered, or maybe neiter.
> So, while I think it doesn't matter, whether we view concepts as sets of
> types or requirements
Well, if you consider TotallyOrdered a concept, then by this reasoning,
it cannot be a set of types. But it could be a set of requirements :-)
I admit that in this context I haven't thought of concepts that cannot
be verified at compile time. Thanks for the hint!
> , I'd like to support this sentence of Mostafa:
> "I view concepts not as a programmatic tool but as a communication tool for
> conveying programmer intent."
I think it is both, a programmatic tool and a communication tool.