Boost logo

Boost :

Subject: Re: [boost] [Concepts] Definition. Was [GSoC] [Boost.Hana] Formal review request
From: Michael Shepanski (mps_at_[hidden])
Date: 2014-08-05 00:33:39


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 ...

It may be helpful to consider this principle about sets: set A and set B
are the same set whenever all the elements of A are elements of B and
all the elements of B are elements of A. Or in symbols:

     (A = B) iff (forall x)(x in A iff x in B)

(Standard example: The set of equilateral triangles and the set of
equiangular triangles are the same set, because all equilateral
triangles are equiangular and vice versa.)

So Mostafa's statement (above) commits him to this:
     Concept A and concept B are the same concept whenever all the types
in A are in B, and all the types in B are in A.

And Roland's statement commits him to this:
     Concept A and concept B are the same concept whenever all the
requirements in A are in B, and all the requirements in B are in A.

I think this means that Roland will be able to discriminate concepts
more finely than Mostafa can. Now, whether that is an advantage or a
disadvantage, I leave for you gentlemen to discuss. :)

--- Michael


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