220 13698 <9500cd77-a615-4785-8140-766969e920ab@isocpp.org> article
Path: news.gmane.org!not-for-mail
From: masse.nicolas@gmail.com
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: extention methods or UFCS
Date: Mon, 6 Oct 2014 04:05:11 -0700 (PDT)
Lines: 98
Approved: news@gmane.org
Message-ID: <9500cd77-a615-4785-8140-766969e920ab@isocpp.org>
References: <555dce3a-8f1c-475d-81c0-9dc56846f03a@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; 
	boundary="----=_Part_10326_1237235647.1412593511969"
X-Trace: ger.gmane.org 1412593521 19309 80.91.229.3 (6 Oct 2014 11:05:21 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Mon, 6 Oct 2014 11:05:21 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBCCJBHV4UALBB2HOZGQQKGQEPN7HVGA@isocpp.org Mon Oct 06 13:05:14 2014
Return-path: <std-proposals+bncBCCJBHV4UALBB2HOZGQQKGQEPN7HVGA@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-ie0-f198.google.com ([209.85.223.198])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCCJBHV4UALBB2HOZGQQKGQEPN7HVGA@isocpp.org>)
	id 1Xb66M-0001Fr-Eu
	for gclcip-std-proposals@m.gmane.org; Mon, 06 Oct 2014 13:05:14 +0200
Original-Received: by mail-ie0-f198.google.com with SMTP id tr6sf21636668ieb.1
        for <gclcip-std-proposals@m.gmane.org>; Mon, 06 Oct 2014 04:05:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        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
         :content-type;
        bh=Vmmm8Ujv98YREM1JSflPJ/pI4hyqF/QPMaAF9UVyXbM=;
        b=rFLCMk9j9Ye23cFfGTSPGNnVlNqEwzpPUkuoaycukEvBTKwXEfQavSJoCH2/yuglAy
         3SSiODb4IzaV9/29l3agGEQnSD9BINNgN5CE0p1O2+xXxonrB3/WEgU6pAU0wqW6V+a1
         wHqEGWNyKxOKyGV4U/TyI3JERiUmJv+KDPqaVgpB2TLs9h/RhhN1ZOv2tb9gJ+L1uR5P
         UteQysLDPEeclcO7nyZpc74bDfFCo944icXQ8Mi+qSpksNw5OSSc5WZ6viqlHX3qV7qG
         e5wISxmmVg3k9cj7cYLWZ9VpqC7zmc1MrBp8HcggcWPL1Yf0HyVhijitcA9Ga1NNPa//
         zZwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        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:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe:content-type;
        bh=Vmmm8Ujv98YREM1JSflPJ/pI4hyqF/QPMaAF9UVyXbM=;
        b=KrLqA6rkxuh27ZnhU39isWnw2GO39ZOUfTGg7HlTujvVMWm5ImPQHvANhDgDgKC6XN
         +0SjPiP5beA4zbHhxFl7/FHeH35ksCujgtsK3d2PZNFc0a/2YXNT3RGXWt2BJ9eC3+sL
         avA+O9B3D3zed8Wqs6CH4TCTzaNF788NkqV39duqMVQytKqK9OXR/8pbznICuv/P/BCZ
         Nj7+tO1YnLQbNYTAowap40MmbDQ8M1QgtbWPdjxGs7Py/cy4Mu4x2dTQCO53wXwxVAMp
         5BhZ/Q9B3zbib1MfzjSg4i3/uqkLSbiryPyKFEWcChNw7MNezkGKnUS3qo2dGwtS0k7R
         cxyA==
X-Gm-Message-State: ALoCoQkd6BqVo5EaAwIpYrz3zE2ml8H0b5mTdlCccAdHk7v5LYcoOyL13ZfMMsc9G59Umw7FM7TE
X-Received: by 10.50.25.129 with SMTP id c1mr8858509igg.7.1412593513160;
        Mon, 06 Oct 2014 04:05:13 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.140.97.164 with SMTP id m33ls94603qge.36.gmail; Mon, 06 Oct
 2014 04:05:12 -0700 (PDT)
X-Received: by 10.140.21.51 with SMTP id 48mr12842qgk.12.1412593512272;
        Mon, 06 Oct 2014 04:05:12 -0700 (PDT)
In-Reply-To: <555dce3a-8f1c-475d-81c0-9dc56846f03a@isocpp.org>
X-Original-Sender: Masse.Nicolas@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: <http://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <http://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <http://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <http://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>,
 <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:13698
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/13698>

------=_Part_10326_1237235647.1412593511969
Content-Type: text/plain; charset=UTF-8

Things like extensions methods have already been discussed here. see Have 
"extension methods" been proposed for C++1y? (or any previous standard) 
<https://groups.google.com/a/isocpp.org/forum/?fromgroups#!topic/std-proposals/17tP4GJbYaI> 
;-)
For D's UFCS, I like the idea, but I think there will some difficulties 
like passing the 1st argument by a reference, by copying the value or using 
a pointer. Also there could be a question about the fact that the 1st 
parameter could or should be constant (remember, this in c++ is declared as 
a constant pointer).
Anyway, as I said i like the idea.


On Sunday, October 5, 2014 5:32:31 AM UTC+2, walter1234 wrote:
>
>
> How much support or interest is there in the C++ community for either of 
> these at the minute.
>
> Has anyone tried to extend any C++ compiler to add these?
>
> If someone added them in a nonstandard fork, what would be the chances of 
> getting them accepted in a mainstream compiler (behind a toggle).
>
>
> it's absence my biggest gripe in the language (asymmetry between methods & 
> functions, & how it interacts with header files);
>
> Of everything i've seen, my favourite solution is D's UFCS idea. Rusts' 
> traits/impls are ok, but they have their own annoyance (I prefer how open 
> free-functions are)
>
> its' about ease of refactoring between methods/free-function code, and 
> readability (having the convenient chaining/aproximate-infix syntax always 
> available)
>
> extention methods wouldn't be expected in vtables, just for compile-time 
> dispatch.
>

-- 

--- 
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.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

------=_Part_10326_1237235647.1412593511969
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Things like extensions methods have already been discussed=
 here. see <a href=3D"https://groups.google.com/a/isocpp.org/forum/?fromgro=
ups#!topic/std-proposals/17tP4GJbYaI">Have "extension methods" been propose=
d for C++1y? (or any previous standard)</a> ;-)<br>For  D's UFCS, I like th=
e idea, but I think there will some difficulties like passing the 1st argum=
ent by a reference, by copying the value or using a pointer. Also there cou=
ld be a question about the fact that the 1st parameter could or should be c=
onstant (remember, this in c++ is declared as a constant pointer).<br>Anywa=
y, as I said i like the idea.<br><br><br>On Sunday, October 5, 2014 5:32:31=
 AM UTC+2, walter1234 wrote:<blockquote class=3D"gmail_quote" style=3D"marg=
in: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><d=
iv dir=3D"ltr"><br><div>How much support or interest is there in the C++ co=
mmunity for either of these at the minute.</div><div><br></div><div>Has any=
one tried to extend any C++ compiler to add these?</div><div><br></div><div=
>If someone added them in a nonstandard fork, what would be the chances of =
getting them accepted in a mainstream compiler (behind a toggle).</div><div=
><br></div><div><br></div><div>it's absence my biggest gripe in the languag=
e (asymmetry between methods &amp; functions, &amp; how it interacts with h=
eader files);</div><div><br></div><div>Of everything i've seen, my favourit=
e solution is D's UFCS idea. Rusts' traits/impls are ok, but they have thei=
r own annoyance (I prefer how open free-functions are)</div><div><br></div>=
<div>its' about ease of refactoring between methods/free-function code, and=
 readability (having the convenient chaining/aproximate-infix syntax always=
 available)</div><div><br></div><div>extention methods wouldn't be expected=
 in vtables, just for compile-time dispatch.</div></div></blockquote></div>

<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"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

------=_Part_10326_1237235647.1412593511969--

.
