220 27740 <CACGiwhEhVkQJxNtxaDKG5v8fG7+Y4K70nY7fSBAGUg4csK7Nbg@mail.gmail.com> article
Path: news.gmane.org!.POSTED!not-for-mail
From: "D. B." <db0451@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: Tuple syntax overhaul
Date: Wed, 10 Aug 2016 08:01:52 +0100
Lines: 93
Approved: news@gmane.org
Message-ID: <CACGiwhEhVkQJxNtxaDKG5v8fG7+Y4K70nY7fSBAGUg4csK7Nbg@mail.gmail.com>
References: <f702545e-bd19-449e-a698-672f34595b95@isocpp.org> <02ef4ab0-251d-4613-8f07-877855f9a86c@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary=001a114b3dac65f8100539b239cb
X-Trace: blaine.gmane.org 1470812519 7703 195.159.176.226 (10 Aug 2016 07:01:59 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Wed, 10 Aug 2016 07:01:59 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBCWNZ4ECS4GBBYVCVO6QKGQEAJUOLKQ@isocpp.org Wed Aug 10 09:01:55 2016
Return-path: <std-proposals+bncBCWNZ4ECS4GBBYVCVO6QKGQEAJUOLKQ@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-wm0-f72.google.com ([74.125.82.72])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBCWNZ4ECS4GBBYVCVO6QKGQEAJUOLKQ@isocpp.org>)
	id 1bXNWU-0001rY-M8
	for gclcip-std-proposals@m.gmane.org; Wed, 10 Aug 2016 09:01:54 +0200
Original-Received: by mail-wm0-f72.google.com with SMTP id 1sf48551752wmz.2
        for <gclcip-std-proposals@m.gmane.org>; Wed, 10 Aug 2016 00:01:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=mime-version:in-reply-to:references:from:date:message-id:subject: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=0oTO9Aj2I1QfhhEy+/Nid7OAl9BB9IuNiTHVvkvQhjU=;
        b=YiRfLK4nsKGTtN6PDPbfA0OJKHeH78opLCazbmf+ety8b47/1Wm5Azqvbnsir4/Ozu
         YzhHQwQeAuEy3Wvz5KykrH5iXSWwyvMavWpwFKYYbpRmoP8bQYamZrWo5QW68Z/ewjtU
         N9Uq6CaJFV2p4bS/82mIsjtMN1h0hJmSse7VC0g94ZjOcl4IYPPfvZaSmEfcstS1yGa2
         yZpGVPs2ckifuZ3ikoNGjIisAaDD/f1qNJuQ6/AE97bs6qJuqH4qJB87CxUmWnABejzK
         z5qEbwGjrzEp65Iioei6DxdR4M7liQLh41LOJHb+JVp6PeqeoDYUQk1caB48g4wSwSNX
         DopQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:mime-version:in-reply-to:references:from:date
         :message-id:subject: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=0oTO9Aj2I1QfhhEy+/Nid7OAl9BB9IuNiTHVvkvQhjU=;
        b=S/j/XQrng28gpIDIM9LCuK7DzP8PsvAHd92exxYCmA11WbErI8rRzl0S4nwyDkvab9
         RnKvErRqeq2LsAWZ+yE2pwx3pV1kHdiEVhfZEzg/x+3W+t0WeAXZchw1VsewrrdMlxHT
         9/ai5u4sN+s63guN4XnsOQIUFRloLonb/fWlBQR2G9LFcDf7naGdEB3fHd79A725LAJL
         hcXduEFbwYk+P/9p0G+JS/m/w/Q94HcA8GXF4zQcQjpDWyMtTt+fAG7nl22CuFz0pLiY
         9hAz33PDzB/DS/LEHB/5n1GMjp+PcdRS4Tt90Y3NqSMKOdTu2k4tOHZeflRVHS/0Qmd0
         dyjg==
X-Gm-Message-State: AEkoouulPe3Rao8OqO1zW6MPtjUoC8/vskG5cPODbZdauG0n5CeAi8x2xbZo7RFTxXC6EA==
X-Received: by 10.28.196.67 with SMTP id u64mr186570wmf.3.1470812515112;
        Wed, 10 Aug 2016 00:01:55 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.28.137.4 with SMTP id l4ls3785152wmd.26.gmail; Wed, 10 Aug
 2016 00:01:54 -0700 (PDT)
X-Received: by 10.28.182.84 with SMTP id g81mr1451119wmf.20.1470812514045;
        Wed, 10 Aug 2016 00:01:54 -0700 (PDT)
Original-Received: from mail-wm0-x235.google.com (mail-wm0-x235.google.com. [2a00:1450:400c:c09::235])
        by mx.google.com with ESMTPS id 3si38406437wjs.264.2016.08.10.00.01.54
        for <std-proposals@isocpp.org>
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Wed, 10 Aug 2016 00:01:54 -0700 (PDT)
Received-SPF: pass (google.com: domain of db0451@gmail.com designates 2a00:1450:400c:c09::235 as permitted sender) client-ip=2a00:1450:400c:c09::235;
Original-Received: by mail-wm0-x235.google.com with SMTP id o80so82193489wme.1
        for <std-proposals@isocpp.org>; Wed, 10 Aug 2016 00:01:54 -0700 (PDT)
X-Received: by 10.28.158.142 with SMTP id h136mr1570337wme.10.1470812513497;
 Wed, 10 Aug 2016 00:01:53 -0700 (PDT)
Original-Received: by 10.28.15.15 with HTTP; Wed, 10 Aug 2016 00:01:52 -0700 (PDT)
In-Reply-To: <02ef4ab0-251d-4613-8f07-877855f9a86c@isocpp.org>
X-Original-Sender: db0451@gmail.com
X-Original-Authentication-Results: mx.google.com;       dkim=pass
 header.i=@gmail.com;       spf=pass (google.com: domain of db0451@gmail.com
 designates 2a00:1450:400c:c09::235 as permitted sender) smtp.mailfrom=db0451@gmail.com;
       dmarc=pass (p=NONE dis=NONE) header.from=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:27740
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/27740>

--001a114b3dac65f8100539b239cb
Content-Type: text/plain; charset=UTF-8

But AFAICT the Committee try avoid adding core-langauage features that can
be adequately served by library usage. Also, the tuple syntax is now
heavily established and entrenched. How would one keep that version around
while adding a new one, and ensure both were synced up?

Rather, what would be best would be to make parts of tuples into language
built-in syntax, which would then transform to particular calls to the
existing stdlib class and/or pieces of more literal but more verbose
syntax. Like std::initializer_list and range-for respectively. And doing it
this way might mean the benefits could be extended to other types, not just
tuples.

Lastly, do you think your proposed grammar would be unambiguous enough to
use? Lambdas exist, as do the following...

On Wed, Aug 10, 2016 at 12:55 AM, HarD Gamer <rodrigojose690@gmail.com>
wrote:

> THAT IS SOMETHING LIKE THIS IN C++17 sintax. check here isocpp.com

DON'T SHOUT. And if you're going to refer people to something, at least
provide a proper link or something you can use.

You're probably talking about structured binding, but that does the
opposite thing: given [a, b, c] = RHS, it unpacks some struct or tuple RHS
into the individual variables specified on the left.

Also, it seems that what I alluded to above about making certain bits of
syntax language built-ins already applies here, since [structured, binding]
knows what to do with a tuple on the RHS, despite that being a template
class.

-- 
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/CACGiwhEhVkQJxNtxaDKG5v8fG7%2BY4K70nY7fSBAGUg4csK7Nbg%40mail.gmail.com.

--001a114b3dac65f8100539b239cb
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra">But AFAICT the Committee try av=
oid adding core-langauage features that can be adequately served by library=
 usage. Also, the tuple syntax is now heavily established and entrenched. H=
ow would one keep that version around while adding a new one, and ensure bo=
th were synced up?<br><br></div><div class=3D"gmail_extra">Rather, what wou=
ld be best would be to make parts of tuples into language built-in syntax, =
which would then transform to particular calls to the existing stdlib class=
 and/or pieces of more literal but more verbose syntax. Like std::initializ=
er_list and range-for respectively. And doing it this way might mean the be=
nefits could be extended to other types, not just tuples.<br><br></div><div=
 class=3D"gmail_extra">Lastly, do you think your proposed grammar would be =
unambiguous enough to use? Lambdas exist, as do the following...<br></div><=
div class=3D"gmail_extra"><br><div class=3D"gmail_quote">On Wed, Aug 10, 20=
16 at 12:55 AM, HarD Gamer <span dir=3D"ltr">&lt;<a href=3D"mailto:rodrigoj=
ose690@gmail.com" target=3D"_blank">rodrigojose690@gmail.com</a>&gt;</span>=
 wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bor=
der-left:1px #ccc solid;padding-left:1ex"><div class=3D"HOEnZb"><div class=
=3D"h5">
</div></div>THAT IS SOMETHING LIKE THIS IN C++17 sintax. check here <a href=
=3D"http://isocpp.com" rel=3D"noreferrer" target=3D"_blank">isocpp.com</a><=
/blockquote><div>DON&#39;T SHOUT. And if you&#39;re going to refer people t=
o something, at least provide a proper link or something you can use.<br><b=
r>You&#39;re probably talking about structured binding, but that does the o=
pposite thing: given [a, b, c] =3D RHS, it unpacks some struct or tuple RHS=
 into the individual variables specified on the left.<br><br></div><div>Als=
o, it seems that what I alluded to above about making certain bits of synta=
x language built-ins already applies here, since [structured, binding] know=
s what to do with a tuple on the RHS, despite that being a template class.<=
br><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/CACGiwhEhVkQJxNtxaDKG5v8fG7%2BY4K70nY=
7fSBAGUg4csK7Nbg%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">h=
ttps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CACGiwhEhVkQJxN=
txaDKG5v8fG7%2BY4K70nY7fSBAGUg4csK7Nbg%40mail.gmail.com</a>.<br />

--001a114b3dac65f8100539b239cb--

.
