220 28290 <f2e808a0-5204-4ba8-b6c3-4fb96367ce39@isocpp.org> article
Path: news.gmane.org!.POSTED!not-for-mail
From: najjarchedy@gmail.com
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: what makes a Concept a Concept?
Date: Mon, 19 Sep 2016 10:15:44 -0700 (PDT)
Lines: 140
Approved: news@gmane.org
Message-ID: <f2e808a0-5204-4ba8-b6c3-4fb96367ce39@isocpp.org>
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: multipart/mixed; 
	boundary="----=_Part_1668_846661339.1474305344126"
X-Trace: blaine.gmane.org 1474305365 15367 195.159.176.226 (19 Sep 2016 17:16:05 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Mon, 19 Sep 2016 17:16:05 +0000 (UTC)
Cc: najjarchedy@gmail.com
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBD5YPAFITIARBQN2QC7QKGQEZNBSUXY@isocpp.org Mon Sep 19 19:15:58 2016
Return-path: <std-proposals+bncBD5YPAFITIARBQN2QC7QKGQEZNBSUXY@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-pa0-f69.google.com ([209.85.220.69])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBD5YPAFITIARBQN2QC7QKGQEZNBSUXY@isocpp.org>)
	id 1bm2AT-0001od-Ug
	for gclcip-std-proposals@m.gmane.org; Mon, 19 Sep 2016 19:15:46 +0200
Original-Received: by mail-pa0-f69.google.com with SMTP id wk8sf315966279pab.3
        for <gclcip-std-proposals@m.gmane.org>; Mon, 19 Sep 2016 10:15:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=date:from:to:cc:message-id:in-reply-to:references:subject
         :mime-version:x-original-sender:reply-to:precedence:mailing-list
         :list-id:x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=HTEmHbwrmdGI2XvqvwAG1hsgIrzoXGmbFYdKMqc+614=;
        b=FpqCcD45Z+9yzQGCFA29q5703YuXppg9gwq1SerhVZmwM2Hcw0MEf+xdX4jnL6vmwJ
         87ZRSwgymBHHm9ZSZh2YiMZq3xLVNk/+Q6EX6rttmX2Yg6uYoCMs2nCktIs+56Efhl+J
         epOhBeuvojZdXNG2AltK9FwGDtJLvgsLaDzQfxIS/S8zSRG2tZr+x1mWxLg1bvi1L4lV
         jPwVXypP8udMTH8zi88/ZVMD5YZZmCM/4qj76OQ5i+QwZh4F9yd2HTkXprOox8lpYavr
         sYFcS1He340dflwxZCYKgdv19LjzgLM7n/TtJmsfiBfsUUjeUKMgLoaq0cLfOpW51Xv+
         N3Fw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=date:from:to:cc:message-id:in-reply-to:references:subject
         :mime-version:x-original-sender:reply-to:precedence:mailing-list
         :list-id:x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=HTEmHbwrmdGI2XvqvwAG1hsgIrzoXGmbFYdKMqc+614=;
        b=dC9f3ZnvMydWf0lseWgW4cEUzEb+f7TCFwIQuhH4EAd+ifTw59fZMMqdmwG55yVD7Q
         F7DFXMNSado35cU78B6CK2HmZKKOe2QYN7OzCI57zJEd8nyYTYxeyhAgFDdEf4fFWqxE
         9OiV6mq3SyTLteLhhEqnyMOEbf1Mw0S2MiulgbxEbX74P04wdJeLtL4jdjj0Zqw3Wvkh
         jUmDP5CR/fJ/vbMDtHla7swabBI43xYzZH3DRHJgfqIBRj4dI9y10Gg+yTc+kS3BjEaT
         or3/ku0BLFrEm5lmuV0P34hhA5o2rInanhtZ8gyniPwEOclKBW/BrwbJvuK7kPVstpRf
         oNbQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:date:from:to:cc:message-id:in-reply-to
         :references:subject:mime-version:x-original-sender:reply-to
         :precedence:mailing-list:list-id:x-spam-checked-in-group:list-post
         :list-help:list-archive:list-subscribe:list-unsubscribe;
        bh=HTEmHbwrmdGI2XvqvwAG1hsgIrzoXGmbFYdKMqc+614=;
        b=gXia81Ov9Nibr6nt+p+ojcdTr5DmEEwKWZOzYwoT3wANsqTDS2C+3ADatL2NxLw1qz
         QkBHto6KJ+EOdY/yrtAEmvkH9gQkcZAbWoNLolh5hwSd6Hz1q3qxFvcwf4HvSBloFZ7o
         vHfakS7I9qsG/FZu04NuAPB4xYn3wGKNlRoo8fVUGyRH7vtLbASYy7FDSAEgSwOm00l8
         8FOmLiRjB5XIut6h8+4x2I5EN+N0mUhRYrDQFj28Nh0EjBjc+455u8mD5O8dEztqHc+k
         rWsEOyxtnkXxNamCpSGDAQNXa7X4n7HzyDbqxkeYdsIRxwnDDZgTLxBXXQGTQJXScUSJ
         mM6w==
X-Gm-Message-State: AE9vXwMqUMIRzYodx2n76aifH3xw/RS2FhcmVHFfv9D29KdlGptb1mxBQIYVmuuAOVRsww==
X-Received: by 10.66.165.6 with SMTP id yu6mr4509923pab.81.1474305347109;
        Mon, 19 Sep 2016 10:15:47 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.36.36.72 with SMTP id f69ls2917587ita.11.canary; Mon, 19 Sep
 2016 10:15:44 -0700 (PDT)
X-Received: by 10.36.120.140 with SMTP id p134mr338518itc.10.1474305344715;
        Mon, 19 Sep 2016 10:15:44 -0700 (PDT)
In-Reply-To: <1fc1c369-a709-41b0-bcd6-5fc01e814a5a@isocpp.org>
X-Original-Sender: najjarchedy@gmail.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:28290
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/28290>

------=_Part_1668_846661339.1474305344126
Content-Type: multipart/alternative; 
	boundary="----=_Part_1669_1458044428.1474305344127"

------=_Part_1669_1458044428.1474305344127
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable


@Nicol Bolas :Okay fair enough: what you are saying is that the language=20
doesn't offer mechanism to distinguish between *Simple Constraints*{"not=20
good concept"} and *Concept*(and that's sth obvious from the provided=20
mechanisms), for the language it's just the same. but, @Nicol Bolas &=20
Robert Ramey, at the same time when reading papers(design papers) about=20
Concepts we find Designers talking about the idea of *Syntactic and=20
Semantic requirments*.
for example M. Bjane Stroustrap is saying that Concept are Constraints plus=
=20
"axioms", and the semantic part of this definition is axioms.
here are some citations from B.S and others intresting papers:
B.S.:

> constraints are predicates on static
> properties of a type, and concepts are abstract specifications of an=20
> algorithm=E2=80=99s
> syntactic and semantic requirements
>

and also :

Constraints are necessary building blocks
> of concepts. Semantic properties are represented as axioms. We summarize=
=20
> our
> approach: concepts =3D constraints + axioms.=20
>
=20
 fundamental paper of concept design:

A concept is a predicate that expresses a set of requirements on types.=20
> These requirements
> consist of syntactic requirements, which what related types, literals,=20
> operations, and expressions
> are available, and semantic requirements that give meaning to the require=
d=20
> syntax and also
> provide complexity guarantees
>

the documentation is  divided in part for beginners with just the purpose=
=20
of using the language feature in some General understanding of=20
Concepts,(and the basic definition is Concepts are requirement  on template=
=20
arguments)and a part to advanced Devers to understand the idea behind=20
concept.

but what i understand is that there is no formal definition of a=20
concept(not from mechanism  perspective), in some way we can say that what=
=20
could make a Concept is the universality of imposed  Constraints for all=20
C++ programmers(library algo, ...), Regularity is a fundamental property of=
=20
types passed to STL Algorithms.

P.S.: sorry for the wrong forum. the two section starts with ISO C++=20
Stand... .

--=20
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 e=
mail 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/f2e808a0-5204-4ba8-b6c3-4fb96367ce39%40isocpp.or=
g.

------=_Part_1669_1458044428.1474305344127
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div dir=3D"ltr">@Nicol Bolas :Okay fair enough: what =
you are saying is that the language doesn&#39;t offer mechanism to distingu=
ish between <i>Simple Constraints</i>{&quot;not good concept&quot;} and <b>=
Concept</b>(and that&#39;s sth obvious from the provided mechanisms), for t=
he language it&#39;s just the same. but, @Nicol Bolas &amp; Robert Ramey, a=
t the same time when reading papers(design papers) about Concepts we find D=
esigners talking about the idea of <b>Syntactic and <u>Semantic </u>requirm=
ents</b>.<br>for example M. Bjane Stroustrap is saying that Concept are Con=
straints plus &quot;axioms&quot;, and the semantic part of this definition =
is axioms.<br>here are some citations from B.S and others intresting papers=
:<br>B.S.:<br><blockquote style=3D"margin: 0px 0px 0px 0.8ex; border-left: =
1px solid rgb(204, 204, 204); padding-left: 1ex;" class=3D"gmail_quote">con=
straints are predicates on static<br>properties of a type, and concepts are=
 abstract specifications of an algorithm=E2=80=99s<br>syntactic and semanti=
c requirements<br></blockquote><div><br>and also :<br><br><blockquote style=
=3D"margin: 0px 0px 0px 0.8ex; border-left: 1px solid rgb(204, 204, 204); p=
adding-left: 1ex;" class=3D"gmail_quote">Constraints are necessary building=
 blocks<br>of concepts. Semantic properties are represented as axioms. We s=
ummarize our<br>approach: concepts =3D constraints + axioms. <br></blockquo=
te><div>=C2=A0</div></div><div>=C2=A0fundamental paper of concept design:<b=
r><br><blockquote style=3D"margin: 0px 0px 0px 0.8ex; border-left: 1px soli=
d rgb(204, 204, 204); padding-left: 1ex;" class=3D"gmail_quote">A concept i=
s a predicate that expresses a set of requirements on types. These requirem=
ents<br>consist of syntactic requirements, which what related types, litera=
ls, operations, and expressions<br>are available, and semantic requirements=
 that give meaning to the required syntax and also<br>provide complexity gu=
arantees<br></blockquote><div><br>the documentation is=C2=A0 divided in par=
t for beginners with just the purpose of using the language feature in some=
 General understanding of Concepts,(and the basic definition is Concepts ar=
e requirement=C2=A0 on template arguments)and a part to advanced Devers to =
understand the idea behind concept.<br><br>but what i understand is that th=
ere is no formal definition of a concept(not from mechanism=C2=A0 perspecti=
ve), in some way we can say that what could make a Concept is the universal=
ity of imposed=C2=A0 Constraints for all C++ programmers(library algo, ...)=
, Regularity is a fundamental property of types passed to STL Algorithms.<b=
r><br>P.S.: sorry for the wrong forum. the two section starts with ISO C++ =
Stand... .<br></div></div></div></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/f2e808a0-5204-4ba8-b6c3-4fb96367ce39%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/f2e808a0-5204-4ba8-b6c3-4fb96367ce39=
%40isocpp.org</a>.<br />

------=_Part_1669_1458044428.1474305344127--

------=_Part_1668_846661339.1474305344126--

.
