220 24436 <56C41501.4070906@wanadoo.fr> article
Path: news.gmane.org!not-for-mail
From: "Vicente J. Botet Escriba" <vicente.botet@wanadoo.fr>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: [tuple] extracting tuples out of a tuple
Date: Wed, 17 Feb 2016 07:36:49 +0100
Lines: 214
Approved: news@gmane.org
Message-ID: <56C41501.4070906@wanadoo.fr>
References: <CA+wfc1-FFqOJ9OSme_SpJAmGz+cshbMDVi_dLrF1ztbzkTN-WQ@mail.gmail.com>
 <n9ksdc$4so$1@ger.gmane.org>
 <CA+wfc18LVMDXhRYhkw0PxeOmPiOoqVteF7V+40EdOOYb2K1snA@mail.gmail.com>
 <n9l3ns$33l$1@ger.gmane.org>
 <7e08b6c5-853c-471e-b248-a9df7e8e27be@isocpp.org>
 <n9sscb$n29$1@ger.gmane.org>
 <CADvuK0La9zc5NKhuzbO0awHWGyonM-P8mT26Jn8v94==P4A=KA@mail.gmail.com>
 <n9tgki$v5n$1@ger.gmane.org>
 <67c3c86d-3089-4f07-878a-3f3e706744df@isocpp.org>
 <42a29c5b-07e4-4e36-bab4-03a7e86ff905@isocpp.org>
 <n9vhfe$jb0$1@ger.gmane.org>
 <6e02dbfe-01f3-4840-92ab-bcc8f7824348@isocpp.org>
 <na039n$9gn$1@ger.gmane.org>
 <47d71f75-7fb7-4589-863c-f5329bc41952@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="------------070400040709060101000005"
X-Trace: ger.gmane.org 1455691022 8417 80.91.229.3 (17 Feb 2016 06:37:02 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Wed, 17 Feb 2016 06:37:02 +0000 (UTC)
Cc: mwoehlke.floss@gmail.com
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBDH67CONY4PBBA5KSC3AKGQEND3JN7A@isocpp.org Wed Feb 17 07:36:54 2016
Return-path: <std-proposals+bncBDH67CONY4PBBA5KSC3AKGQEND3JN7A@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-lf0-f71.google.com ([209.85.215.71])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBDH67CONY4PBBA5KSC3AKGQEND3JN7A@isocpp.org>)
	id 1aVvjI-0002mP-Lt
	for gclcip-std-proposals@m.gmane.org; Wed, 17 Feb 2016 07:36:52 +0100
Original-Received: by mail-lf0-f71.google.com with SMTP id h66sf2203810lfb.0
        for <gclcip-std-proposals@m.gmane.org>; Tue, 16 Feb 2016 22:36:52 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=subject:to:references:cc:from:message-id:date:user-agent
         :mime-version:in-reply-to:content-type: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=qqg7AiFZoUvCyFkWaxAs10DkDsQdFlqzeuhzf9iggUs=;
        b=KkJnIfIu9b0JPdZtlPO5wHTNxg7OHOGaC89zVU/CJUuNeoX1tYbPSNxnxh0AvrKur0
         YpyCL2acCJpJ1pJ1lxHnGyhcN24k0qJ0zf9vmzO6O5zfs72+Yg13eXfSdsYTp9f6Mj+X
         J2umr3VkOEPfsAjv5TVvjBEg/0rouaqo7a2w97bvBHwG+0ELqivQOeoZdpOCoHURQQEh
         Y+47NwqCZN8r9/t0ky50WCyDNd/kVAdTqbDSF+0K9vcAije38nRhzQP18WSi/87WUTW9
         FHZboQ+IuaEvkzoGh+rmIk1tFcrUjk5dULBc4P5dHQ4eEun00/bMiz923/i/ENxB46h6
         1ICw== 
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:cc:from:message-id:date
         :user-agent:mime-version:in-reply-to:content-type: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=qqg7AiFZoUvCyFkWaxAs10DkDsQdFlqzeuhzf9iggUs=;
        b=hmHkNNwhtho4mEdKgQcV07uvFnhJPnK8WLKlCdO/tsRLY+mUd6DB88eGQvjvNL1P/W
         heKJZo8rX7/MQ4TlsCED1iZYs4wEcgVlhhCLZj7ECm9CxMb2yb17xYIx/ghSw/R+INtN
         5pMumimB+QoPXkKU9C3oNyJzrBH9lUynOG7TD5xgN3e8oXn71FJMFx/50V9xzKXb6TW5
         1Dhki+vT8Uq3B+IwihLi+/O35GU6Iipu0pmTG5bGE3ehDpSoPDui2C0RkWqOyJxzfHud
         rYT2HHh+TUphAOPY9KTac1TNlqKS0Uou+nJmqJju2XQilcqwMLzhzsxsMVtYM9dcRYqO
         kV 
X-Gm-Message-State: AG10YOTWxS0a+6vqvCEFjGz+qw00U8aQcHUyM4KhMMyWWu7CefpYHh+6fvuqRnMtUMkKNw==
X-Received: by 10.194.19.195 with SMTP id h3mr3057890wje.1.1455691012255;
        Tue, 16 Feb 2016 22:36:52 -0800 (PST)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.28.156.130 with SMTP id f124ls954298wme.13.gmail; Tue, 16 Feb
 2016 22:36:50 -0800 (PST)
X-Received: by 10.194.89.70 with SMTP id bm6mr28490426wjb.0.1455691010604;
        Tue, 16 Feb 2016 22:36:50 -0800 (PST)
Original-Received: from smtp.smtpout.orange.fr (smtp06.smtpout.orange.fr. [80.12.242.128])
        by mx.google.com with ESMTPS id wt9si54013227wjc.42.2016.02.16.22.36.50
        for <std-proposals@isocpp.org>
        (version=TLS1 cipher=AES128-SHA bits=128/128);
        Tue, 16 Feb 2016 22:36:50 -0800 (PST)
Received-SPF: neutral (google.com: 80.12.242.128 is neither permitted nor denied by best guess record for domain of vicente.botet@wanadoo.fr) client-ip=80.12.242.128;
Original-Received: from new-host.home ([81.53.183.74])
	by mwinf5d29 with ME
	id KJcp1s00L1cjLC103Jcqlx; Wed, 17 Feb 2016 07:36:50 +0100
X-ME-Helo: new-host.home
X-ME-Auth: dmljZW50ZS5ib3RldEB3YW5hZG9vLmZy
X-ME-Date: Wed, 17 Feb 2016 07:36:50 +0100
X-ME-IP: 81.53.183.74
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0)
 Gecko/20100101 Thunderbird/38.5.1
In-Reply-To: <47d71f75-7fb7-4589-863c-f5329bc41952@isocpp.org>
X-Original-Sender: vicente.botet@wanadoo.fr
X-Original-Authentication-Results: mx.google.com;       spf=neutral
 (google.com: 80.12.242.128 is neither permitted nor denied by best guess
 record for domain of vicente.botet@wanadoo.fr) smtp.mailfrom=vicente.botet@wanadoo.fr
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:24436
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/24436>

This is a multi-part message in MIME format.
--------------070400040709060101000005
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: quoted-printable

Le 17/02/2016 00:13, Louis Dionne a =C3=A9crit :
>
>
> On Tuesday, 16 February 2016 16:11:36 UTC-5, Matthew Woehlke wrote:
>
>     (FYI, whatever you used to post your last message just butchered the
>     quoting. And the line wrapping on your own text isn't much better.)
>
>
> I posted my reply from the Google Groups web page, and both the quoting
> and the line wrapping look fine there. I'm not sure what you're=20
> referring to.
>
>
>     On 2016-02-16 15:21, Louis Dionne wrote:
>     > On Monday, 15 February 2016 21:10:52 UTC-5, Nicol Bolas wrote:
>     >> Oh, and show me the Hana code for this:
>     >>
>     >> struct Data
>     >> {
>     >>   int i;
>     >>   float f;
>     >>   double d;
>     >> };
>     >>
>     >> Data d =3D ...;
>     >> outer(inner([:]d)...);
>     >
>     > Ah! That's a good one! Here's how you would write it:
>     >
>     >     BOOST_HANA_DEFINE_STRUCT(Data,
>
>     Oops. That right there is a no-go. Redefining the type is right
>     out, as
>     most likely the type is not something that can be directly
>     controlled.
>     (Even if it was, uglifying the API like this? No, thanks...)
>
>
> You don't need to redefine the type, since the above macro actually
> defines the type itself. If you don't have control over the type, you can
> also use BOOST_HANA_ADAPT_STRUCT to adapt an existing struct.
> But all of this is completely irrelevant, since I myself said that=20
> these macros
> were nothing but workarounds for the lack of proper introspection=20
> facilities,
> which need to be built into the language. This is obviously neither where
> we disagree nor the subject of this discussion.
>
>
Hi,

I agree here with Louis, this is orthogonal. There is a proposal for=20
defaulting tuple-like access [1] that should help here.

Vicente

[1]=20
https://github.com/viboes/std-make/blob/master/doc/proposal/reflection/P019=
7R0.md

--=20

---=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.
Visit this group at https://groups.google.com/a/isocpp.org/group/std-propos=
als/.

--------------070400040709060101000005
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<html>
  <head>
    <meta content=3D"text/html; charset=3Dutf-8" http-equiv=3D"Content-Type=
">
  </head>
  <body bgcolor=3D"#FFFFFF" text=3D"#000000">
    <div class=3D"moz-cite-prefix">Le 17/02/2016 00:13, Louis Dionne a
      =C3=A9crit=C2=A0:<br>
    </div>
    <blockquote
      cite=3D"mid:47d71f75-7fb7-4589-863c-f5329bc41952@isocpp.org"
      type=3D"cite">
      <div dir=3D"ltr"><br>
        <br>
        On Tuesday, 16 February 2016 16:11:36 UTC-5, Matthew Woehlke
        wrote:
        <blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left:
          0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">(FYI,
          whatever you used to post your last message just butchered the
          <br>
          quoting. And the line wrapping on your own text isn't much
          better.)
          <br>
        </blockquote>
        <div><br>
        </div>
        <div>I posted my reply from the Google Groups web page, and both
          the quoting</div>
        <div>and the line wrapping look fine there. I'm not sure what
          you're referring to.</div>
        <div>=C2=A0</div>
        <blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left:
          0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">
          <br>
          On 2016-02-16 15:21, Louis Dionne wrote:
          <br>
          &gt; On Monday, 15 February 2016 21:10:52 UTC-5, Nicol Bolas
          wrote:
          <br>
          &gt;&gt; Oh, and show me the Hana code for this:
          <br>
          &gt;&gt;
          <br>
          &gt;&gt; struct Data
          <br>
          &gt;&gt; {
          <br>
          &gt;&gt; =C2=A0 int i;
          <br>
          &gt;&gt; =C2=A0 float f;
          <br>
          &gt;&gt; =C2=A0 double d;
          <br>
          &gt;&gt; };
          <br>
          &gt;&gt;
          <br>
          &gt;&gt; Data d =3D ...;
          <br>
          &gt;&gt; outer(inner([:]d)...);
          <br>
          &gt; <br>
          &gt; Ah! That's a good one! Here's how you would write it:
          <br>
          &gt; <br>
          &gt; =C2=A0 =C2=A0 BOOST_HANA_DEFINE_STRUCT(Data,
          <br>
          <br>
          Oops. That right there is a no-go. Redefining the type is
          right out, as
          <br>
          most likely the type is not something that can be directly
          controlled.
          <br>
          (Even if it was, uglifying the API like this? No, thanks...)
          <br>
        </blockquote>
        <div><br>
        </div>
        <div>You don't need to redefine the type, since the above macro
          actually</div>
        <div>defines the type itself. If you don't have control over the
          type, you can</div>
        <div>also use BOOST_HANA_ADAPT_STRUCT to adapt an existing
          struct.</div>
        <div>But all of this is completely irrelevant, since I myself
          said that these macros</div>
        <div>were nothing but workarounds for the lack of proper
          introspection facilities,</div>
        <div>which need to be built into the language. This is obviously
          neither where</div>
        <div>we disagree nor the subject of this discussion.</div>
        <div>=C2=A0</div>
        <blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left:
          0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">
          <br>
        </blockquote>
      </div>
    </blockquote>
    Hi, <br>
    <br>
    I agree here with Louis, this is orthogonal. There is a proposal for
    defaulting tuple-like access [1] that should help here.<br>
    <br>
    Vicente<br>
    <br>
    <a class=3D"moz-txt-link-freetext"
href=3D"https://github.com/viboes/std-make/blob/master/doc/proposal/reflect=
ion/P0198R0.md">[1]
https://github.com/viboes/std-make/blob/master/doc/proposal/reflection/P019=
7R0.md</a><br>
    <br>
  </body>
</html>

<p></p>

-- <br />
<br />
--- <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 />
Visit this group at <a href=3D"https://groups.google.com/a/isocpp.org/group=
/std-proposals/">https://groups.google.com/a/isocpp.org/group/std-proposals=
/</a>.<br />

--------------070400040709060101000005--

.
