220 28289 <7484c940-1c69-7223-c83d-da89e6b87cbb@rrsd.com> article
Path: news.gmane.org!.POSTED!not-for-mail
From: Robert Ramey <ramey@rrsd.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: what makes a Concept a Concept?
Date: Sun, 18 Sep 2016 19:35:07 -0700
Lines: 40
Approved: news@gmane.org
Message-ID: <7484c940-1c69-7223-c83d-da89e6b87cbb@rrsd.com>
References: <1fc1c369-a709-41b0-bcd6-5fc01e814a5a@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
X-Trace: blaine.gmane.org 1474252525 8405 195.159.176.226 (19 Sep 2016 02:35:25 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Mon, 19 Sep 2016 02:35:25 +0000 (UTC)
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0)
 Gecko/20100101 Thunderbird/45.2.0
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBDG73K7L6AIRBX457W7AKGQENHUM4UI@isocpp.org Mon Sep 19 04:35:20 2016
Return-path: <std-proposals+bncBDG73K7L6AIRBX457W7AKGQENHUM4UI@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-pf0-f200.google.com ([209.85.192.200])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBDG73K7L6AIRBX457W7AKGQENHUM4UI@isocpp.org>)
	id 1bloQL-0000mq-JA
	for gclcip-std-proposals@m.gmane.org; Mon, 19 Sep 2016 04:35:13 +0200
Original-Received: by mail-pf0-f200.google.com with SMTP id 21sf238901754pfy.3
        for <gclcip-std-proposals@m.gmane.org>; Sun, 18 Sep 2016 19:35:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=subject:to:references:from:message-id:date:user-agent:mime-version
         :in-reply-to:x-original-sender:x-original-authentication-results
         :reply-to:precedence:mailing-list:list-id:x-spam-checked-in-group
         :list-post:list-help:list-archive:list-subscribe:list-unsubscribe;
        bh=K22Ya5ltZQwWhy/hdyHYpp3Q41t+pL1XYbpe3bzO9Go=;
        b=WjnGV+OWs04ZgIr9KrsTZMdl5bDduUQAqiYR/pG53V2jKoWjxL0DfHz68hqgkbC83n
         vZTvsCicXu7SUBSH3wrePO0/NJJot/mhISu5M87SxDW4fHIor1/vaFDZ9UZh98H3YMEW
         sS7elodUgKGfmTW7yx0lUfkyMlUOJ2hTVVvdK/Y4dwWxlSZgQ9hjLeSgvz9V7p1ay6Lr
         pU0oGSSCaB3Sq4gAX2FVGDm96b8myUzsEhaSddn2W4lZHuTZhPVb7lqAsO9PbKgpPsMx
         hDWbw2RSbuoDju04Cvrhrq11jesWsNMykBmOcxs+NlNliiCbuf5TNqCw3qb78H2YVB1e
         H5eQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:subject:to:references:from:message-id:date
         :user-agent:mime-version:in-reply-to:x-original-sender
         :x-original-authentication-results:reply-to:precedence:mailing-list
         :list-id:x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=K22Ya5ltZQwWhy/hdyHYpp3Q41t+pL1XYbpe3bzO9Go=;
        b=Y0jyw0SLb+hoQ3drxXN++mG1bAy0wwoPHnYOcX3MRD9BXz56FBfK+2rek5eD6XZWfD
         ZUatBrwamYqNwwd40QqWEucHghGqftPUgpVPNIqm/CEOHz/ZIakZDd+1gkas2tFeuoKs
         LeBO86R/+T/dNWfj9P55A2RzNpmkohTPgcXhal7Oq1qCQRK8vOR7eetOGXEOsxZ/zZoU
         C3JKbIoWSf+7Ro19s+6xeGez4xOlFwoKrNZEydVmwGE8isaLspQC1TBBOLQUWTbxvJ3F
         OHrztRtHX5ipb0/PA9ZfUV/bD3KrNLoVhe7DfAAkel757mxpO5oVMpSe3baomNlSpsWu
         N0tA==
X-Gm-Message-State: AE9vXwO4p3dAoaTNXT5fjl+0rsiRIGSKezETdoEnmI+85vBmG9i9HzmoGNgkkRwrDaIvvw==
X-Received: by 10.66.162.68 with SMTP id xy4mr3437740pab.57.1474252514815;
        Sun, 18 Sep 2016 19:35:14 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.36.228.13 with SMTP id o13ls2351676ith.4.canary; Sun, 18 Sep
 2016 19:35:11 -0700 (PDT)
X-Received: by 10.98.20.137 with SMTP id 131mr23735888pfu.11.1474252511171;
        Sun, 18 Sep 2016 19:35:11 -0700 (PDT)
Original-Received: from caracal.maple.relay.mailchannels.net (caracal.maple.relay.mailchannels.net. [23.83.214.30])
        by mx.google.com with ESMTPS id l14si31128992pfi.217.2016.09.18.19.35.10
        for <std-proposals@isocpp.org>
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Sun, 18 Sep 2016 19:35:10 -0700 (PDT)
Received-SPF: pass (google.com: domain of ramey@rrsd.com designates 23.83.214.30 as permitted sender) client-ip=23.83.214.30;
X-Sender-Id: wwwh|x-authuser|ramey@rrsd.com
Original-Received: from relay.mailchannels.net (localhost [127.0.0.1])
	by relay.mailchannels.net (Postfix) with ESMTP id B3361100C14
	for <std-proposals@isocpp.org>; Mon, 19 Sep 2016 02:35:09 +0000 (UTC)
Original-Received: from clippers.accountservergroup.com (ip-10-229-2-62.us-west-2.compute.internal [10.229.2.62])
	by relay.mailchannels.net (Postfix) with ESMTPA id 15990100179
	for <std-proposals@isocpp.org>; Mon, 19 Sep 2016 02:35:09 +0000 (UTC)
X-Sender-Id: wwwh|x-authuser|ramey@rrsd.com
Original-Received: from clippers.accountservergroup.com ([UNAVAILABLE]. [10.107.128.240])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA)
	by 0.0.0.0:2500 (trex/5.7.8);
	Mon, 19 Sep 2016 02:35:09 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: wwwh|x-authuser|ramey@rrsd.com
X-MailChannels-Auth-Id: wwwh
X-MC-Loop-Signature: 1474252509242:2468538331
X-MC-Ingress-Time: 1474252509241
Original-Received: from 207-170-229-104.static.twtelecom.net ([207.170.229.104]:42424 helo=MacBook-Pro.local)
	by clippers.accountservergroup.com with esmtpsa (TLSv1:DHE-RSA-AES128-SHA:128)
	(Exim 4.87)
	(envelope-from <ramey@rrsd.com>)
	id 1bloQG-0009Wi-FF
	for std-proposals@isocpp.org; Sun, 18 Sep 2016 19:35:08 -0700
In-Reply-To: <1fc1c369-a709-41b0-bcd6-5fc01e814a5a@isocpp.org>
X-AuthUser: ramey@rrsd.com
X-Original-Sender: ramey@rrsd.com
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of ramey@rrsd.com designates 23.83.214.30 as permitted sender) smtp.mailfrom=ramey@rrsd.com
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Google-Group-Id: 399137483710
List-Post: <https://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <https://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <https://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>,
 <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:28289
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/28289>

On 9/18/16 3:05 PM, najjarchedy@gmail.com wrote:
>
> i started writing an article/documentation about Concepts by at a point
> in time when i started giving examples and saying if this is a  Concept
> or a simple Constraint, i found my self enable to answer the question
> why this is a concept ?
> according to CPPCoreGuideline example :Addable is not a Concept because
> it violates the Commutativity property of Addition.that's okay, but what
> makes EquallyComparable or Regular a Concept?
>
> Addable is defined like so:
>

This has been bugging me for years.  Concept is a very ill chosen word 
to describe what it is and has lead to much confusion and made the 
"concept" exceedingly difficult to understand.

When every you see the word "Concept" in the context of C++ types 
mentally substitute the words "Type Requirements".  This will clarify 
things immensely.

Now define type requirements as the list of legal expressions which may 
include the type in question.

It's that simple.

Of course this opens the way to abominations like "Sortable".  Before 
anyone asks, the definition of "Sortable<T>" would be:

a type T is "Sortable" if, when placed in a suitable container, the 
container can be sorted..., which obviously make no sense.

Robert Ramey

-- 
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/7484c940-1c69-7223-c83d-da89e6b87cbb%40rrsd.com.

.
