220 32349 <20170509050057.GA1227@noemi> article
Path: news.gmane.org!.POSTED!not-for-mail
From: Magnus Fromreide <magfr@lysator.liu.se>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: =?UTF-8?B?UmU6IFtzdGQtcHJvcG9zYWxzXSBSZTogQWRkaW5nIHRoZSBLZXl3b3JkIOKAnGludGVyZg==?=
	=?UTF-8?B?YWNl4oCdIGluIEMrKw==?=
Date: Tue, 9 May 2017 07:00:57 +0200
Lines: 45
Approved: news@gmane.org
Message-ID: <20170509050057.GA1227@noemi>
References: <c8742174-fef0-44a9-988d-2c8aebba9243@isocpp.org>
 <CACL3gUXPSVdsT0Z77igxGVtHU9ALGPcN=7hwKKKfBmt8eQmXtA@mail.gmail.com>
 <9ee212eb-4037-40c4-94c3-57a9a170a4c3@isocpp.org>
 <1765502.4y06pMOS3s@tjmaciei-mobl1>
 <e8fb03f4-8c94-46c2-a612-acab81117998@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 1494306065 27372 195.159.176.226 (9 May 2017 05:01:05 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Tue, 9 May 2017 05:01:05 +0000 (UTC)
User-Agent: Mutt/1.8.0 (2017-02-23)
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBDELLREETMBRBDE2YXEAKGQE3YZCENI@isocpp.org Tue May 09 07:00:58 2017
Return-path: <std-proposals+bncBDELLREETMBRBDE2YXEAKGQE3YZCENI@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-wr0-f198.google.com ([209.85.128.198])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBDELLREETMBRBDE2YXEAKGQE3YZCENI@isocpp.org>)
	id 1d7xGa-0006wq-KM
	for gclcip-std-proposals@m.gmane.org; Tue, 09 May 2017 07:00:56 +0200
Original-Received: by mail-wr0-f198.google.com with SMTP id 44sf16628442wry.5
        for <gclcip-std-proposals@m.gmane.org>; Mon, 08 May 2017 22:01:02 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1494306062; cv=pass;
        d=google.com; s=arc-20160816;
        b=XKZcnmt4qHk5fkdB7zuYIa41BpJBvVBMm7Qm10+87f9neB4uFT21E9Y0eswTXTIIOe
         H2ccJptT5DlwU1YkMoa2FPD3f94ZxEt5oY7QbYv4onbrQMqoJ3JZIerG92TaQ1ARLySb
         Mpq6hbHSqMdnyy9spf2RLO5HxkIos3FDfY5zolFYU6m6+mWmp7deqbtjzu8xxeyHmWJ1
         N0t02XZWX+bmclQB11ibbQE5rdC2FfxprnSct5LmWJoOyEkSBJ5ssHbh3UIZ7Ul4+FbX
         vnXaFXoKIHdy7Ab/XWQGNiuk3jHwiDCumvuJa8pAH6ElKcLWMmTGfjkV99LUUjlNaXtq
         sryw==
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:user-agent:in-reply-to
         :content-disposition:mime-version:references:mail-followup-to
         :message-id:subject:to:from:date:arc-authentication-results
         :arc-message-signature:dkim-signature:arc-authentication-results;
        bh=oNKVrzg5KDfcj+ilVZUkQElrL0gl0cdWReldm4Qe714=;
        b=M+xIu+WuWb/nGnW3MmbzwhjgagWRGiCtuzu1CweGNQjFMUX7ZapV+J6TDy4hLvSeXS
         BEKVYwG/KDKXAoq+grqg1s0ejha1PtkOylaWI+3OmSlfGrQ5Nepwtd87JW7Krq/qGX44
         00nMrh0wkj9WktIF7Y45KuOo28WPZqo/fMkbz71jxZpBuKW+FskVO/D7TgsweAydweqg
         sz2O7jvb1LE5p4FqhGNgIKkm31pPwQ7iVGymFYCgPPtETU/MG30bhlIexzwyQpDVz7vP
         5H6/EPVYQRNIDc1yfAxdYXQ76h/3nhT0+no5vCOnxRt9IA4053TbqctUhBTQLx2ZXfj3 
ARC-Authentication-Results: i=2; mx.google.com;
       spf=pass (google.com: domain of magfr@lysator.liu.se designates 2001:6b0:17:f0a0::3 as permitted sender) smtp.mailfrom=magfr@lysator.liu.se
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=date:from:to:subject:message-id:mail-followup-to:references
         :mime-version:content-disposition:in-reply-to:user-agent
         :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=oNKVrzg5KDfcj+ilVZUkQElrL0gl0cdWReldm4Qe714=;
        b=QUeRlG+HDBQE52xxExTD3Mlx8SPeMJhZU+PqNKxp0w9956UFm8GBtdeww1eF0rjWZj
         5Oq9D0ltiFEreJrmZe82wTB5fglDYWdq+ZYN5mNHXWpxyc3TtrL6MKQroQ/n+/OFA0u7
         e8bhGMcGmx9JAN5FALP7sxB+TA3Oz6gpkWeKIdLsnke6Afv9XmmvysnW49SV3ZPP2VPq
         haL+5pq06XEmPGDTcvFMMFBfLweL/mfDu0T0phFYxFYNHpPaY+9Axza/qaihX/vl1wHP
         YHKJamgZowka0k9eZVBXK6s6jV61I49KAV6n9ktb6fGjYygOoFx1ksmoZOqcpzl 
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:subject:message-id:mail-followup-to
         :references:mime-version:content-disposition:in-reply-to:user-agent
         :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=oNKVrzg5KDfcj+ilVZUkQElrL0gl0cdWReldm4Qe714=;
        b=S2N5iVQyV7E2i0pv0K3b9FSWdhD9k2BZJt+DM/wCFkOc8uJUOBczdVpFTdvZWuPTSH
         XE/1T175JDrdv91Nu74JK/oCrMacqzy6Y2rSQ8Qq3bYMjzUQZ4vX5wyuKaeQpRlMOCtg
         kzeMPBSmT+E1fvcGhz9hdtrLrEGEmXCy1K2YeBJNz7KRNuCalMTfAhAtCJ6YJJLWfVBz
         tcWizEOVweRWQgs/WRRpe6jacpkrk3tCALv/VkMZ+0YyVDu42sjF0Jr7JpEPnAtdDchb
         9aqiJKyyQpzPpkbgN29grRUFHHJP8jgEnfe7o9rBO9i6bf++KVTP7dEDVC7 
X-Gm-Message-State: AODbwcCFVxgqjkFbjb1IwBkimJyHF2/Np5icvbOBg4thhJOaP9xHcZxb
	/xgXFvYY1EqH6A==
X-Received: by 10.25.32.209 with SMTP id g200mr326879lfg.9.1494306062066;
        Mon, 08 May 2017 22:01:02 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.25.199.79 with SMTP id x76ls284865lff.46.gmail; Mon, 08 May
 2017 22:00:59 -0700 (PDT)
X-Received: by 10.25.235.210 with SMTP id f79mr11963985lfk.27.1494306059709;
        Mon, 08 May 2017 22:00:59 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1494306059; cv=none;
        d=google.com; s=arc-20160816;
        b=lrwOkrLa19w2CdCcMbgf7DlLzTTr46f+0/+dvdmgeFRsmCpgin3MzBmTDOJY0Q6x6b
         BCeBwkQvQOfk8Zkp+eOyxoUOHLZENHtH9yvtYH6ebSOAakbg99NPWzdhdvd2P7UFacju
         6ecJ8N+uLuEVSGzXVyn+72janM+NxA+H/2+l9sjjcJgIawK20SeQCIen7SfkOou1XNHi
         xMolWWr99ezxd5NmgbXkPgDdcy2YTE3O0yrofE4rcN1CffsXoOCv+NOl5S5QhK3TYEww
         zsf391kn7o5tAcO//yRqNP/ksNEtQxbR45tL7elSxwDoaD3u4C8LtKzx+bGsfEXFbFD0
         5B2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=user-agent:in-reply-to:content-disposition:mime-version:references
         :mail-followup-to:message-id:subject:to:from:date
         :arc-authentication-results;
        bh=KE0sARtBm05nF9m3046iTxrAKjOsL5MsZtDApIrUdHs=;
        b=oLXmlxX9d23NusBobeHuGxVB/Sac1g1LyNk43uu/godhlQpiA8kT1PZoV49LjxaRSc
         eiFzeSuyKWU5y4WL5ixSp6/k/t1GFJT+UwNH1yy4GaT8YiYZ4Lg+9kFGoFNmU5Jlmm3x
         mm4O5NXcKqa/rYrNJLZ9bQMt6COxcNYbeC3Qoz0j91vJeSltPOZh8qwXRENzNC6PmIOg
         urK5vM92LRPHQ5JnqkwqvUb/AP7d2XrLXy43pcFhMkZKbQumJ4JWkOqZEJk7kYDwK6Lg
         tC7Ij1WEHT+ZKeW8PLJRGSIsDYqjzLSKF9wTzdMeS8ChoTKw/4D8qwOBP4XqFOix9TZm
         eauA==
ARC-Authentication-Results: i=1; mx.google.com;
       spf=pass (google.com: domain of magfr@lysator.liu.se designates 2001:6b0:17:f0a0::3 as permitted sender) smtp.mailfrom=magfr@lysator.liu.se
Original-Received: from mail.lysator.liu.se (mail.lysator.liu.se. [2001:6b0:17:f0a0::3])
        by mx.google.com with ESMTPS id j203si8609074lfg.232.2017.05.08.22.00.59
        for <std-proposals@isocpp.org>
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Mon, 08 May 2017 22:00:59 -0700 (PDT)
Received-SPF: pass (google.com: domain of magfr@lysator.liu.se designates 2001:6b0:17:f0a0::3 as permitted sender) client-ip=2001:6b0:17:f0a0::3;
Original-Received: from mail.lysator.liu.se (localhost [127.0.0.1])
	by mail.lysator.liu.se (Postfix) with ESMTP id EFFF140012
	for <std-proposals@isocpp.org>; Tue,  9 May 2017 07:00:58 +0200 (CEST)
Original-Received: from noemi (h-155-4-132-137.na.cust.bahnhof.se [155.4.132.137])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by mail.lysator.liu.se (Postfix) with ESMTPSA id CDB924000F
	for <std-proposals@isocpp.org>; Tue,  9 May 2017 07:00:58 +0200 (CEST)
Mail-Followup-To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Content-Disposition: inline
In-Reply-To: <e8fb03f4-8c94-46c2-a612-acab81117998@isocpp.org>
X-Virus-Scanned: ClamAV using ClamSMTP
X-Original-Sender: magfr@lysator.liu.se
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of magfr@lysator.liu.se designates 2001:6b0:17:f0a0::3 as permitted
 sender) smtp.mailfrom=magfr@lysator.liu.se
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:32349
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/32349>

On Mon, May 08, 2017 at 08:16:23AM -0700, Nicol Bolas wrote:
> On Monday, May 8, 2017 at 10:54:13 AM UTC-4, Thiago Macieira wrote:
> >
> > On Monday, 8 May 2017 00:30:58 PDT Mingxin Wang wrote: 
> > > Unlike the "*Concespts*" that work at compile time, the 
> > > "*Interfaces*" work at runtime mostly. In essence, it is not only 
> > > a syntactic sugar, but a style of implementation for *polymorphism*: 
> > > virtual functions are only generated when required at runtime 
> >
> > "virtual functions generated at runtime" needs A LOT of explanation. 
> > Please 
> > explain how the compiler would implement such a thing. 
> >
> > i also recommend finding another name for your feature. "interface" is a 
> > widely 
> > known term and means something else: it means a base class with virtuals 
> > that 
> > need to be overridden.
> >
> 
> I think the idea that he's trying to get across is the following.
> 
> An `interface` is a class which is implicitly convertible from any type 
> which matches some concept. The implicit conversion effectively works by 
> storing a type-erased pointer/reference to the object it is converted from.
> 
> The concept it matches is defined by the set of member functions in the 
> `interface`. The `interface` class will automatically generate matching 
> member functions which forward calls to the type-erased pointer/reference.
> 
> So it's not a "virtual" call in the language sense; it's a virtual call in 
> the polymorphic sense.

So, is this yet another reinvention of the old "signature" extension of G++?

https://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_5.html#SEC112

/MF

-- 
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/20170509050057.GA1227%40noemi.

.
