220 38460 <e21d8a37-1e22-41b2-beef-b0d21f2886b6@isocpp.org> article
Path: news.gmane.org!.POSTED!not-for-mail
From: Omer Rosler <omer.rosler@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Concepts fragmentation problem
Date: Sun, 3 Jun 2018 10:01:32 -0700 (PDT)
Lines: 52
Approved: news@gmane.org
Message-ID: <e21d8a37-1e22-41b2-beef-b0d21f2886b6@isocpp.org>
References: <f686b7c7-83c4-4779-9f91-316bbe3bab4b@isocpp.org>
 <48f336e3-146b-4317-8a60-1a3acc16af4b@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_26135_692902384.1528045292855"
X-Trace: blaine.gmane.org 1528045167 9539 195.159.176.226 (3 Jun 2018 16:59:27 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Sun, 3 Jun 2018 16:59:27 +0000 (UTC)
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBC2L3NWCRYJBB3N52DMAKGQEKWLD5HY@isocpp.org Sun Jun 03 18:59:23 2018
Return-path: <std-proposals+bncBC2L3NWCRYJBB3N52DMAKGQEKWLD5HY@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-yw0-f199.google.com ([209.85.161.199])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBC2L3NWCRYJBB3N52DMAKGQEKWLD5HY@isocpp.org>)
	id 1fPWLj-0002Ny-E1
	for gclcip-std-proposals@m.gmane.org; Sun, 03 Jun 2018 18:59:23 +0200
Original-Received: by mail-yw0-f199.google.com with SMTP id s12-v6sf21240847ywl.13
        for <gclcip-std-proposals@m.gmane.org>; Sun, 03 Jun 2018 10:01:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=date:from:to:message-id:in-reply-to:references:subject:mime-version
         :x-original-sender:reply-to:precedence:mailing-list:list-id
         :list-post:list-help:list-archive:list-subscribe:list-unsubscribe;
        bh=WTaO//VoeVaXj2ghQ9zu5h4JdDZHquIPdI4/Ps8A5KY=;
        b=TM3rAOAYXmwp1hU9OwgxttBMFQ7cNIlrrku2M+9aOjYDmvXvFRBE11Jbg/2wmm/+bX
         I09A0HKftaSVVM97qsij9T5UNmEgypu33MN8SbolzuOUbnq06qVnG3WbiiPINOka5TlT
         tSggMxL7HcA1OW1u9/m65ItbAk95mFmTTZ5JuliYu7f2c6XXCleMH4ISnm6bRC6SZn+n
         ebb58Qq7BPJl6igirQ1Hn297WrEOkA5uhDcqBwQvnEUvBeCP/IORtZ6vqunwVTpqgrsM
         LQ/TXe+oSW/wIC8Gd6A8YUcdzHpoChP9xx7zYDC2UNrhHHg2oX2JnRt3pIGzng0Cvcm3
         zJRw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=date:from:to:message-id:in-reply-to:references:subject:mime-version
         :x-original-sender:reply-to:precedence:mailing-list:list-id
         :list-post:list-help:list-archive:list-subscribe:list-unsubscribe;
        bh=WTaO//VoeVaXj2ghQ9zu5h4JdDZHquIPdI4/Ps8A5KY=;
        b=aW6nfuGhkgWHtDu7WKIi9ajjTLPDJnBoLR7KLxYZrjq3XjS00pB8HhHX5tTHfwLDzd
         /VYRpCKc8szSABMQcynAtNR78mbEz81js6ZmFb2RN/0A7U57WvnnPU9pdyhpIeUbs+kP
         iVx/mL/IVC/sF+KtceWCdxuHKQD6jeZBFd7u0vwEMRpQK7ocVavx3XOLImocLDE1OOAn
         +8BcMyTQB/a+dPQ4at+mFQoVooHE2TmFcuwQQ69EaJBTuFsGrcBPhouOEOMENPRThWF7
         Hkfl2Ip6Jr4fFBDYElGINz8l7hv4Lg1WXV2zpLok0QZbwsp+mO+0pfVwjv1w/jOSH2Hw
         wsMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to: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=WTaO//VoeVaXj2ghQ9zu5h4JdDZHquIPdI4/Ps8A5KY=;
        b=bnPx06DVTeRe3x9/cNtFNZOYQN/tVLUXcW4tCWx9LrRmGsv63iCjVdjUAevm5Mziwg
         e2AeqEl0nM+gRIh2cRPhuN2ttaq63+ZiTSfThPuYKzA5kYGltSUJ6dkFh6cg206B8Ah+
         /BghBmcvMw731Aaii8SyTpjfEDvSva+Zqt4zzKahhHyPvmBZkyluk/Ps91weN3l9GOY3
         BXY5eQO3eEFqvykx/TCsSH1MFxRY0qxUKEXqe+BA6gPK61An1dG1y4MA+mO8ggon/PqE
         LDgUAnH4vHyJ11uZAydbO7LPK2NgYwIlBepyq/PRTP6MrgXvGhSuM4meiJPqJp4Uqln5
         7EEA==
X-Gm-Message-State: ALKqPwcXkrzQB5lb0vWWqUQW5yL1R6KeSiWrk9qPlAbrw5IjEvCl185z
	MnzGQml/7ULA7jl6IdifpeZRbA==
X-Google-Smtp-Source: ADUXVKI8hucccCquhP8SmNnfNq+3twih8FPEyHP18j/VNnu5aNQWtIJbhRpwDXbnQKBrU1KNBEfAOg==
X-Received: by 2002:a0d:c207:: with SMTP id e7-v6mr4815834ywd.192.1528045294301;
        Sun, 03 Jun 2018 10:01:34 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 2002:a81:f108:: with SMTP id h8-v6ls5280637ywm.10.gmail; Sun, 03
 Jun 2018 10:01:33 -0700 (PDT)
X-Received: by 2002:a0d:f606:: with SMTP id g6-v6mr756221ywf.3.1528045293276;
        Sun, 03 Jun 2018 10:01:33 -0700 (PDT)
In-Reply-To: <48f336e3-146b-4317-8a60-1a3acc16af4b@isocpp.org>
X-Original-Sender: omer.rosler@gmail.com
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Spam-Checked-In-Group: 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:38460
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/38460>

------=_Part_26135_692902384.1528045292855
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Sunday, June 3, 2018 at 4:59:34 AM UTC+3, Nicol Bolas wrote:
> On Saturday, June 2, 2018 at 7:57:30 PM UTC-4, Omer Rosler wrote:
>=20
>=20
>=20
> The problem with second approach the user now has to remember two version=
s of the same concepts: one to use and one to implement.
>=20
>=20
> How many times have you used an iterator? I bet it's several orders of ma=
gnitude more often than you've written one.
>=20
>=20
> Yes, your library has two concepts. But they aren't two versions of the s=
ame concept. There's the Iterator concept, and there's the ThingThatThisToo=
lTurnsIntoAnIterator concept. Those aren't the same thing; indeed, more lik=
ely than not, they are quite dissimilar. They have different interfaces and=
 different purposes.
>=20
>=20
> Users don't have to remember the ThingThatThisToolTurnsIntoAnIterator con=
cept, because they simply don't use it very often. When they need to use it=
, they'll look up what it does and how it works. What they're going to reme=
mber is Iterator, because that's what they're using most of the time.

Well the iterator comparison for the ratio of uses/implementations is not f=
air as this is not the case for every concept library out there.=20

There is a second problem with this separation into two concepts:
Consider a customization point in the users' concepts that is given via a t=
raits class.
If that customization is not given by the ThingThatTurnsIntoMyConcept (then=
 this concept also has a traits class) then users and implementers use diff=
erent customization points which costs the library in a lot more metaprogra=
mming pain just because it uses concepts.

--=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/e21d8a37-1e22-41b2-beef-b0d21f2886b6%40isocpp.or=
g.

------=_Part_26135_692902384.1528045292855--

.
