220 39876 <CAFk2RUapCo9kdS2QAyJ=jvPFXkbZCTrU9j94ck64RnkS2_Co4A@mail.gmail.com> article
Path: news.gmane.org!.POSTED!not-for-mail
From: Ville Voutilainen <ville.voutilainen@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: Named Parameters for C++
Date: Fri, 17 Aug 2018 20:49:16 +0300
Lines: 67
Approved: news@gmane.org
Message-ID: <CAFk2RUapCo9kdS2QAyJ=jvPFXkbZCTrU9j94ck64RnkS2_Co4A@mail.gmail.com>
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> <c2700ce4-bf0d-4176-b7c0-df038241f4a7@isocpp.org>
 <CAFk2RUZ6K7WW1N73cu-wv9ypHrWhcBMMqjJP-79mYdv+tVRqjQ@mail.gmail.com> <f79149e0-8d3c-49ca-a2f0-5b8dbb171704@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
X-Trace: blaine.gmane.org 1534528035 5736 195.159.176.226 (17 Aug 2018 17:47:15 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Fri, 17 Aug 2018 17:47:15 +0000 (UTC)
To: "ISO C++ Standard - Future Proposals" <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBC5JHI7A7ALRBHMV3TNQKGQEYZXEPFY@isocpp.org Fri Aug 17 19:47:10 2018
Return-path: <std-proposals+bncBC5JHI7A7ALRBHMV3TNQKGQEYZXEPFY@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-oi0-f70.google.com ([209.85.218.70])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBC5JHI7A7ALRBHMV3TNQKGQEYZXEPFY@isocpp.org>)
	id 1fqiq4-0001Oo-HG
	for gclcip-std-proposals@m.gmane.org; Fri, 17 Aug 2018 19:47:08 +0200
Original-Received: by mail-oi0-f70.google.com with SMTP id s68-v6sf7742438oih.23
        for <gclcip-std-proposals@m.gmane.org>; Fri, 17 Aug 2018 10:49:19 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1534528159; cv=pass;
        d=google.com; s=arc-20160816;
        b=gNuyRFTBgjdo1vTs97cfs3skE2XSziBTTxy0mLLnbZbwxM9xr1scStoCd3AYGxNa1l
         vpMJUqjXWE+PB473bp654uta29lx2QAn1F49Xyxp2vPGC5zyhGV9DmvchN/OdfU1FoSn
         p4lfNVca7vT6R5aMwdT24AZ8GeaL0QKaOqxkDundwQZAKWpUGJBPiIhfwLNC/CAgY0VM
         Dp+Ckxsff/0fRviwiYWNjpRuEj5R5YXdiI+loWdl/kjbcdpOVdnSRjsM3Vw45DH6bdeN
         V/RxljPiNYqAo9kGKZevrgupaCJdkxzKvWn9cHp/FtSuzb+y96ex7MKGuI/HHBB8jNzn
         ndJw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
         :list-id:mailing-list:precedence:reply-to:to:subject:message-id:date
         :from:references:in-reply-to:mime-version:arc-authentication-results
         :arc-message-signature:dkim-signature:arc-authentication-results;
        bh=bGG/RLaVaGlF3QJe8cm4mPmRhKR+r/G77aImF4jcDXo=;
        b=vY24v7rGpeMvoFUxhgUnD6YrTNqdBMB266QHgCuvZlFO33i8E1NySMXouaZTD7mzsz
         S55JKRRfy1orwGL5tsW68Cmg2CcBvaVhsbXR9HTBmvg/h5wCwhQyoPdt+7C0hXNLFsRw
         YClFmD3iRVcfqv97f9/oKa0djSo67sYLd8x2qBJUVVy1cD6uQUnhvJyIxLPGpvxPjWQN
         KXqTZWbXKzIVemQfJi8UWK9yAH/Z8BSW26/tv1nYhdBFy6iKse3oJNnGGsyO7AubTltj
         zAMnlBral0c65jqPbTXdKD5+VQDVax7td7xRkoNGf9AjnwEUidrHDzrnbz7gjXBXCu/i
         kVVA==
ARC-Authentication-Results: i=2; mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20161025 header.b=p0VMX9pX;
       spf=pass (google.com: domain of ville.voutilainen@gmail.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=ville.voutilainen@gmail.com;
       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com
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:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=bGG/RLaVaGlF3QJe8cm4mPmRhKR+r/G77aImF4jcDXo=;
        b=bRpAAOxiuM3tKHn4PiYClLBcaLrA5V9EVZt1m73hg9lZw5Gut5Xa28DhE4xQfSr4pt
         X4eOJrrR+3F4SV86hASR7fyFSeb2JfYLGGArJ/hnb7iZIuJETquWhyly9LkWu8CExlCg
         IlwuJcmkBbO7niQ3Uxh9WOKSYBHeI8pWXtT4BYAZ/wWGClSdcfUWeSuPt601INobUj4n
         oGrWXtdmnZ8u/pb8a1HPaC/bZVP/r/zAYdmMk0lOysiEvURog0y2VsPNZmtlVP4cufdx
         139a0peS2XbaNi704EtO+Fq2R3GSLthVySuROH4vlvfriUsQ1nkleOYe8tymgril1oqO
         icsg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        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=bGG/RLaVaGlF3QJe8cm4mPmRhKR+r/G77aImF4jcDXo=;
        b=gTIHDL4UAH5pP7pZw6N8kZX9z7SqEimFKF8k905YZE5VwAx38aVQZKQV3jzKKH1KMx
         Jq8aBt9gT0TbpCDoKFrDa8SFVa6wtL/Hi5zx7qSuYHMiSQOlWJhGmCzearBy/Xb7hY5b
         XpqEMyh+8Y+34chAbWuzWKrDgfVP0q77DQIql4uiaZoTBVZTzx7libJnTBh0wzMNAmyI
         boHOXrvhGECfeGcaE3h8RIiI1w6d/HTLdYoRffoh+Vb9fVra6y6kc19lrg7MY7RW4ooq
         rgBgpZfmFhD/S64PjNgYi4OKG2pavGbmee7+rTOmpqwXBiJBUn04IZh2spqUBfiXKzV7
         NsRg==
X-Gm-Message-State: AOUpUlEzhkDOPysD2NHkPSVgMYIDtPM0Oo4kf0iALxA3nYOgXNgwCVmU
	MZOEDfervmWhDnyuDZ22luQk1A==
X-Google-Smtp-Source: AA+uWPxzbaXmIHrakSPZpn49RZ62T/cpzEE78Tw+ACuPUDS8Fl67TrOn+viRGWxJhHSfXNCRbVk5zw==
X-Received: by 2002:aca:ec8b:: with SMTP id k133-v6mr21768446oih.11.1534528158912;
        Fri, 17 Aug 2018 10:49:18 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 2002:aca:4dc3:: with SMTP id a186-v6ls5007870oib.21.gmail; Fri,
 17 Aug 2018 10:49:17 -0700 (PDT)
X-Received: by 2002:aca:3254:: with SMTP id y81-v6mr3193566oiy.317.1534528157696;
        Fri, 17 Aug 2018 10:49:17 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1534528157; cv=none;
        d=google.com; s=arc-20160816;
        b=SihX39BmSlYFBtfjc6HaU+AXLohNoKohl+G6TksctjERoz/QjkRS6zbnbJItn7wpMx
         L2/+qwa+o4liOqEeyBugsvI6y1oQGMKeqJ4y3901z1rjn+ySMdbpdt4vfrm0lDyFfysO
         u2oy7tcBX/yPF/FCN6u/Sr7u1KW4YigX2ggXhlaqB1iEBYPcLIzmcwkq5eOsNmKnLt2w
         oq0rdLqlNSSaI0R0bojRpy0aDLof0UnXVSLgnbNSCdos/qKighjHAkVAHxmDQnG2I01o
         YRLu9RMiOUkBFtGoizy4PAMpU0IrCfzBM/YjgmQJwtdLtvreDTh3FW8QXFxhvE7PgR+i
         pr7w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=to:subject:message-id:date:from:references:in-reply-to:mime-version
         :dkim-signature:arc-authentication-results;
        bh=mndyhDuTyYzMrmeZ+QcxKb3/7eqAlxR4UCZkd5vcsbw=;
        b=kbiDao86fRA2bSXCpdCj/uTxx/VdH8IAgn8zw/0gwrVl86LE35lQnbzySA9R0roeoT
         wIk2BdpoC703Nv0unBznvETA6d+qgAIoOd8q8lFVHK7YNqxU4JTJYKOQO6BVnVDwBWp9
         rHQmtvcLIBP89R3bizNZ6OQ5h6PDAXcBXgdASxYKARC+bOs2k09loGEfn0U4gVneTOWR
         X9R3faQmeXzs7iVBApiIEAKx/56tTEtFs5YKWvnSVLeYjfpxHanbDjyZ8WChZpkRjrlS
         ivjsNTqjknM1b8XDirAJiS34mszz/TSU8RTgfVXHoS7XyJ8DNlhmyX6yB/niGvzhQq3J
         h6jA==
ARC-Authentication-Results: i=1; mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20161025 header.b=p0VMX9pX;
       spf=pass (google.com: domain of ville.voutilainen@gmail.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=ville.voutilainen@gmail.com;
       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com
Original-Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65])
        by mx.google.com with SMTPS id 9-v6sor1583316oid.23.2018.08.17.10.49.17
        for <std-proposals@isocpp.org>
        (Google Transport Security);
        Fri, 17 Aug 2018 10:49:17 -0700 (PDT)
Received-SPF: pass (google.com: domain of ville.voutilainen@gmail.com designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65;
X-Received: by 2002:aca:6087:: with SMTP id u129-v6mr3203011oib.99.1534528157323;
 Fri, 17 Aug 2018 10:49:17 -0700 (PDT)
Original-Received: by 2002:a9d:176:0:0:0:0:0 with HTTP; Fri, 17 Aug 2018 10:49:16 -0700 (PDT)
In-Reply-To: <f79149e0-8d3c-49ca-a2f0-5b8dbb171704@isocpp.org>
X-Original-Sender: ville.voutilainen@gmail.com
X-Original-Authentication-Results: mx.google.com;       dkim=pass
 header.i=@gmail.com header.s=20161025 header.b=p0VMX9pX;       spf=pass
 (google.com: domain of ville.voutilainen@gmail.com designates 209.85.220.65
 as permitted sender) smtp.mailfrom=ville.voutilainen@gmail.com;
       dmarc=pass (p=NONE sp=QUARANTINE 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-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:39876
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/39876>

On 17 August 2018 at 20:37, Nicol Bolas <jmckesson@gmail.com> wrote:
>> > 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?
>>
>> This problem ceases to be a problem once modules land.
>
>
> And of course, `#include`s of C++ standard library headers are not required
> to actually "include" text files (which is why they don't end in `.h`). They
> can just be `import` directives under the hood. Or they can include text
> files that themselves just import a module.
>
> That bears thinking about. But at the same time, if we go this route, we
> effectively enforce standard libraries to use those names for its
> parameters. Names become a de-facto part of their interfaces. That will make
> it difficult for standard library implementations to compile on both C++17
> and C++20/whatever-has-modules.

It's worth noting that some languages like Common Lisp do standardize
the names of some
parameters of the standard library functions. So it's not
unfathomable; prior to modules,
the problem was that we _couldn't_ standardize the names, it was just
not possible.

What I have established, having had discussions about named arguments
on multiple occasions,
is that the following pain points are important:

1) it needs to be an opt-in for the author of a library, so no
automagic naming. Some library
authors do not want users relying on names that the library author
didn't expect them to rely
on, in order to avoid breakage that wasn't considered beforehand.

2) The standard library part is the other major one; it's a bit
embarrassing if the facility can't work
with any standard library functions, and prior to modules, it indeed can't.

There have been various suggestions to make names part of the ABI and
part of the function type,
so that the function can't be called without named arguments, in the
traditional ordered-unnamed
arguments.
That makes wrapping such functions in binds and lambdas and whatnot
horrible. Lisp, for example,
still allows ordered-unnamed calls even if some parameters are
declared &key. Making it part
of the ABI is likewise nice for some things (changing the names breaks
ABI, silent change of
meaning doesn't happen for users), but it's unfortunate from other
perspectives, like having
to invent new manglings and again running into problems with
ordered-unnamed calls.

I do expect further discussion and proposals for named arguments. Some
committee members
are trying fairly hard to get named arguments in.

-- 
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/CAFk2RUapCo9kdS2QAyJ%3DjvPFXkbZCTrU9j94ck64RnkS2_Co4A%40mail.gmail.com.

.
