Boost logo

Boost :

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.

Cheers,

Roland


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