220 39873 <c2700ce4-bf0d-4176-b7c0-df038241f4a7@isocpp.org> article
Path: news.gmane.org!.POSTED!not-for-mail
From: Nicol Bolas <jmckesson@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Named Parameters for C++
Date: Fri, 17 Aug 2018 10:30:46 -0700 (PDT)
Lines: 129
Approved: news@gmane.org
Message-ID: <c2700ce4-bf0d-4176-b7c0-df038241f4a7@isocpp.org>
References: <CAPuuy5eBx1ybcPjS6dNsk7n1_c2uhdRBS19qr=q5cj3cTURnLQ@mail.gmail.com> <pl3ogk$csr$1@blaine.gmane.org> <f3af9e48-f865-476e-8724-4af19ce23369@isocpp.org> <pl671k$gsb$1@blaine.gmane.org> <823c098a-0fb0-18c3-82f3-e8a8616312f1@gmail.com>
 <pl6vh8$kta$1@blaine.gmane.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_979_980756520.1534527046877"
X-Trace: blaine.gmane.org 1534526922 14946 195.159.176.226 (17 Aug 2018 17:28:42 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Fri, 17 Aug 2018 17:28:42 +0000 (UTC)
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBCEKFTV6ZUMBBR4M3TNQKGQEBGGNLLQ@isocpp.org Fri Aug 17 19:28:38 2018
Return-path: <std-proposals+bncBCEKFTV6ZUMBBR4M3TNQKGQEBGGNLLQ@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-yw1-f70.google.com ([209.85.161.70])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBCEKFTV6ZUMBBR4M3TNQKGQEBGGNLLQ@isocpp.org>)
	id 1fqiYA-0003kT-7A
	for gclcip-std-proposals@m.gmane.org; Fri, 17 Aug 2018 19:28:38 +0200
Original-Received: by mail-yw1-f70.google.com with SMTP id p8-v6sf6420750ywl.14
        for <gclcip-std-proposals@m.gmane.org>; Fri, 17 Aug 2018 10:30:48 -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=v0iNmaBion8tpQql0j1GugWG6STMseuKg/LorwbX20o=;
        b=zg01Dw2n9+9z3Szx8aS9NoLupmtDEQkzgwaViPvOCaKaqydvJ+vrjZmST5DKDrwQzp
         bApaDXbR1M7tqEy49yzY7zUbGZvMqHhlz2zgBGAKwWjW9j+hqlecaiSfRoVFg4MAc+Fb
         pRUorQ9WwuxqP1yKuAoQRQ8XNTNF12E5+78GFYLQlir+o/GzBBZK1kZ5wxzADG40bRqR
         gjhAl1BCa8I6hAvaAxHyUIRCP0tFWEmWbaOrty+33gcfsoibQKQDMOd7RMBiXTNN1P/L
         ocZ2iw+orEttTfK59GUATOaLrH1AiHq+XvylY6WEzHZlzk0HPf1ThU2YDkMHXHot9+WC
         fMVg==
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=v0iNmaBion8tpQql0j1GugWG6STMseuKg/LorwbX20o=;
        b=unmPB+pu/kLhnfF6Wa0Ct3wJ0xeUvT4Nr3QIemLJ1K7+trJDLDqz3Z/dinwiPqHChT
         JyICT4MmEb6tKquF/lpb2ZCTiTQVx9DgT7gdtU1ycVuI6qSS7rHkoZt9MiggztS/9qpe
         CPfenD82p0lsIO3ZSgdj6XZJELReoe0NaH+XTlm0bkAysXr6CJjfl59M31mnCLWLZcRx
         F0+4XV73AlYd4fbQkEF5MSpwGTXg7aVDKRP05wm5UEHpkKDDqEYA+yDXfUVa5Pkc7gnD
         5lIY+AhfzO8PpFyV7eqq5qA/tmGe7Z/aCgyilr0ZC2i1vBcR4g7q5DVSe6x/sp44K4ZO
         7glw==
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=v0iNmaBion8tpQql0j1GugWG6STMseuKg/LorwbX20o=;
        b=e+jNa8wRN4ukKgui424ofR1PnQiAl8QPA+u11mz/bRDa5uBpFB4ANe9L8+bDv8T1Qp
         x9Vt8FqxodQnuUF9LoAxPV6f/Se+uj+Iu4fpVBnjwcD+lR/xLCLzSBV/qgyhecGAU4zH
         1IWzM7zEkxt+aNsl6gGlAjqSMI8asnj91zixS0WZzfepgBvj6g2zGa5CNJOD0friRy7E
         7W8IGQUpJqphZ6M93tzdCIeqyI8hqEU+8hkgdrA1K+vNE6Yua42vCRPArncNDPmRBRdE
         LdAMlHD8UjW619r5CdvQy8NrF/MP1APkd4tatMaFrtZxpQMqTjntU8aRi2zpBl+B/uZy
         Eu2g==
X-Gm-Message-State: AOUpUlFAkMGYrqVqbJAy/lA0MLdXz+t1e+MvyahTYfajbenmDLHCb+b4
	vE7jpy185A3zuL5JRxKxg8TuTw==
X-Google-Smtp-Source: AA+uWPxzJqMDHUfyyA70M58RWksZgN6hRCTm65O7OaRGZGEnOVyIrSM632QoIacZ/0mPff5hlWCy2w==
X-Received: by 2002:a81:a10c:: with SMTP id y12-v6mr1369540ywg.231.1534527048513;
        Fri, 17 Aug 2018 10:30:48 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 2002:a25:238d:: with SMTP id j135-v6ls1711703ybj.15.gmail; Fri,
 17 Aug 2018 10:30:47 -0700 (PDT)
X-Received: by 2002:a25:4ec6:: with SMTP id c189-v6mr438798ybb.6.1534527047357;
        Fri, 17 Aug 2018 10:30:47 -0700 (PDT)
In-Reply-To: <pl6vh8$kta$1@blaine.gmane.org>
X-Original-Sender: jmckesson@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:39873
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/39873>

------=_Part_979_980756520.1534527046877
Content-Type: multipart/alternative; 
	boundary="----=_Part_980_111926103.1534527046877"

------=_Part_980_111926103.1534527046877
Content-Type: text/plain; charset="UTF-8"



On Friday, August 17, 2018 at 1:12:20 PM UTC-4, David Brown wrote:
>
> On 17/08/18 17:16, Matthew Woehlke wrote: 
> > On 2018-08-17 06:14, David Brown wrote: 
> >> On 16/08/18 15:08, mihailn...@gmail.com <javascript:> wrote: 
> >>> There are tree major problems with such simple approaches 
> >>> 
> >>> First - you make something, that has been private for 30+ years, 
> public. 
> >> 
> >> No, it is not.  The names for parameters are in function declarations, 
> >> in headers - these are public. 
> > 
> > No, they aren't. Or, more correctly, while they are "public" in the 
> > sense that a user can see them by reading the header, they aren't a 
> > (normative) part of the API, any more than comments are. To *the 
> > compiler*, they may as well not exist. 
> > 
> > You are proposing to change that. That is a *serious* change. 
> > 
>
> Nah, you are overreacting.  At most, it is a /tiny/ issue compared to 
> the huge amount of implementation stuff in typical C++ headers that 
> really is supposed to be private implementation details.  (Hint: lots of 
> it is labelled "private:".)
>

"Overreacting"? Show me a standard library implementation that actually 
uses the parameter names that the standard library defines. What's more, 
standard libraries *cannot* use those parameter names. Why?

Macro defensiveness.

Users can define macros with almost any names. And standard library headers 
are *required* to not be affected by such macros. As such, standard library 
implementations are required to use the set of names that macros cannot 
touch: names that are restricted for the implementation.

So if you can't even rely on the standard library's parameter names, you 
would be unable to write cross-platform code that uses those names. And if 
you can't even rely on the *standard* library... what *can* you rely on?

-- 
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/c2700ce4-bf0d-4176-b7c0-df038241f4a7%40isocpp.org.

------=_Part_980_111926103.1534527046877
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br>On Friday, August 17, 2018 at 1:12:20 PM UTC-4, Da=
vid Brown wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin=
-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">On 17/08/18 17=
:16, Matthew Woehlke wrote:
<br>&gt; On 2018-08-17 06:14, David Brown wrote:
<br>&gt;&gt; On 16/08/18 15:08, <a href=3D"javascript:" target=3D"_blank" g=
df-obfuscated-mailto=3D"g0x5AT5jDAAJ" rel=3D"nofollow" onmousedown=3D"this.=
href=3D&#39;javascript:&#39;;return true;" onclick=3D"this.href=3D&#39;java=
script:&#39;;return true;">mihailn...@gmail.com</a> wrote:
<br>&gt;&gt;&gt; There are tree major problems with such simple approaches=
=20
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; First - you make something, that has been private for 30+ =
years, public.
<br>&gt;&gt;
<br>&gt;&gt; No, it is not. =C2=A0The names for parameters are in function =
declarations,
<br>&gt;&gt; in headers - these are public.
<br>&gt;=20
<br>&gt; No, they aren&#39;t. Or, more correctly, while they are &quot;publ=
ic&quot; in the
<br>&gt; sense that a user can see them by reading the header, they aren&#3=
9;t a
<br>&gt; (normative) part of the API, any more than comments are. To *the
<br>&gt; compiler*, they may as well not exist.
<br>&gt;=20
<br>&gt; You are proposing to change that. That is a *serious* change.
<br>&gt;=20
<br>
<br>Nah, you are overreacting. =C2=A0At most, it is a /tiny/ issue compared=
 to
<br>the huge amount of implementation stuff in typical C++ headers that
<br>really is supposed to be private implementation details. =C2=A0(Hint: l=
ots of
<br>it is labelled &quot;private:&quot;.)<br></blockquote><div><br></div><d=
iv>&quot;Overreacting&quot;? Show me a standard library implementation that=
 actually uses the parameter names that the standard library defines. What&=
#39;s more, standard libraries <i>cannot</i> use those parameter names. Why=
?</div><div><br></div><div>Macro defensiveness.</div><div><br></div><div>Us=
ers can define macros with almost any names. And standard library headers a=
re <i>required</i> to not be affected by such macros. As such, standard lib=
rary implementations are required to use the set of names that macros canno=
t touch: names that are restricted for the implementation.</div><div><br></=
div><div>So if you can&#39;t even rely on the standard library&#39;s parame=
ter names, you would be unable to write cross-platform code that uses those=
 names. And if you can&#39;t even rely on the <i>standard</i> library... wh=
at <i>can</i> you rely on?</div><br></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/c2700ce4-bf0d-4176-b7c0-df038241f4a7%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/c2700ce4-bf0d-4176-b7c0-df038241f4a7=
%40isocpp.org</a>.<br />

------=_Part_980_111926103.1534527046877--

------=_Part_979_980756520.1534527046877--

.
