220 28151 <52f1577b-9ee8-4ddc-b6ce-9e296cef19c6@isocpp.org> article
Path: news.gmane.org!.POSTED!not-for-mail
From: lisa.e.lippincott@gmail.com
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Procedural Function Interfaces
Date: Wed, 7 Sep 2016 19:45:18 -0700 (PDT)
Lines: 132
Approved: news@gmane.org
Message-ID: <52f1577b-9ee8-4ddc-b6ce-9e296cef19c6@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_146_487979941.1473302718599"
X-Trace: blaine.gmane.org 1473302733 7155 195.159.176.226 (8 Sep 2016 02:45:33 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Thu, 8 Sep 2016 02:45:33 +0000 (UTC)
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBDGOZGVH5UGRBP5BYO7AKGQE7DE5ELY@isocpp.org Thu Sep 08 04:45:29 2016
Return-path: <std-proposals+bncBDGOZGVH5UGRBP5BYO7AKGQE7DE5ELY@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-yw0-f198.google.com ([209.85.161.198])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBDGOZGVH5UGRBP5BYO7AKGQE7DE5ELY@isocpp.org>)
	id 1bhpL6-0000J7-98
	for gclcip-std-proposals@m.gmane.org; Thu, 08 Sep 2016 04:45:20 +0200
Original-Received: by mail-yw0-f198.google.com with SMTP id c67sf67256936ywe.1
        for <gclcip-std-proposals@m.gmane.org>; Wed, 07 Sep 2016 19:45:21 -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: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=sMYeLtdLH9xdazMn3pJY2AOEeP91fzl3a/9EGpGHQew=;
        b=PVONWvNxVvOGxuMV9DPzNgJEbSjJaYkpzbyRlpVkrPAgm+lL2vXYst0acrMHtWAH/V
         gkTE35KqnuywlD7bGb35exq7N4DXK3r208BiIFfvJxOCfoM5PKy2wxxmOTj5xTk2Lkwk
         mXOvWkJWqabHVN1AiwfnOWxNvk4Bgy4ZdvMirnyi6QRI17anLJnTE3aWMwzl+BnXvvox
         Tfa7UvGjTpgQxgxr7uoVLgZYiKPWZZzO2xEuUoqdNGHxxJNoxmNkZD3nY6i4qV4SKOUB
         GMwfqvW5fuStN5rSmAfc4xY5/br3idrxbb6be+2cxvyjeIlmVfRaQTYTxMOLqpncfdH4
         LInA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=date:from:to:message-id: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=sMYeLtdLH9xdazMn3pJY2AOEeP91fzl3a/9EGpGHQew=;
        b=bSPBynU3AuihE3s9cRLWKb2st9sfYAsAJ87QMUIpyON8h1H3NtfETlv6ECnApvv+jz
         juHRyyPQYS7VIKGKGxdRglHKzCxKpcLqx7pSKX+6/Ub0u3azd5z/Tq3FZklLoZYzCMqY
         OgNMLbtRHbF6/s+GZS7ZtRA+ZX2VSYSCwHe35Qw4A7TmNpl767CZFjF98w8/YOHIYOF/
         XTfg8xaFna9/9wZ3rIICdwwSFXFhApHk/aZ+4De246GXFlisP3VOm8rhSGwGK960VQBO
         EfUwHPfUuKQJ/iugDPiGPSLDdiazOPX+WfWt4UoCBJrbjEA4V1rMFKL9Rv0uVdt8DORg
         KGnA==
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: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=sMYeLtdLH9xdazMn3pJY2AOEeP91fzl3a/9EGpGHQew=;
        b=AThCbeQkNxu6I0e6lo/6HdzJ3GSgIsGohIHY1euM1tUB6YoYJOuPYzpMvjgaj/ZzWS
         ePohXB3dn7TF6H5TsTGpxTpbhSZRLKZGTl+WO414i/UM2yywgj8vPsqMNXrAfdJr8/dJ
         5h18K4rkY6dS9lOLYaVahucy68nuIX1t3lgDP09LPqr4jpN0duNrcv/nAz6HbYlUh26i
         GWPdj25hskoPHDnfGjtHA3iSSwH/Vmhe7u5xGmpDlbacbSHUmfDVgWU93BP4jOWLN0wb
         HNIsCGgjTisXaD8OxfJCPfR1VydiFL6dsCgCHCB8/zZhxCUNNJCwlZWo4sYFhoHzY2JE
         7AAQ==
X-Gm-Message-State: AE9vXwPCABbekOpT+bpBesjgPXFnSCZLvgBvRTkUedYaAW1DnoWFe+1JV/5uLg0DQ8xzEA==
X-Received: by 10.237.53.75 with SMTP id b11mr41860836qte.4.1473302721267;
        Wed, 07 Sep 2016 19:45:21 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.36.105.148 with SMTP id e142ls5995930itc.17.canary; Wed, 07
 Sep 2016 19:45:19 -0700 (PDT)
X-Received: by 10.36.237.193 with SMTP id r184mr268993ith.2.1473302719163;
        Wed, 07 Sep 2016 19:45:19 -0700 (PDT)
X-Original-Sender: Lisa.E.Lippincott@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: <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:28151
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/28151>

------=_Part_146_487979941.1473302718599
Content-Type: multipart/alternative; 
	boundary="----=_Part_147_661117364.1473302718599"

------=_Part_147_661117364.1473302718599
Content-Type: text/plain; charset=UTF-8



Hello world,


At C++now this year, I gave a lecture, "What is the basic interface?" In 
it, I covered some of the problems involved in defining formal interfaces 
for functions in a procedural language like C++, with a focus on the parts 
of a function's interface that usually go without saying.


The talk was well-received, and afterward, a number of people asked me to 
write a paper on the notation I used in the talk -- essentially, an 
extension to C++ allowing function interfaces to be specified procedurally, 
in sufficient detail to prove local correctness.


This is, of course, no small undertaking. What I've written so far is more 
outline than concrete proposal, and even so, it is rather lengthy and omits 
important details. But I present it here for your consideration: 


<https://drive.google.com/open?id=0B4pQ0YXYmdWRYnNaRC1Vb1pmakU>


I'll be reprising "What is the basic interface?" at CppCon this month, but 
meanwhile, video of my C++now presentation is on YouTube. The slides are 
available separately on github. The presentation may help with 
understanding the paper: it provides context, and it may be better 
organized. (The video ends unexpectedly; we thought we could keep filming 
after the break, but we were wrong.)


<https://youtu.be/1b_W23lyTPw>

<https://github.com/boostcon/cppnow_presentations_2016/blob/master/03_friday/what_is_the_basic_interface.pdf>


Thank you,

                 --Lisa Lippincott

-- 
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/52f1577b-9ee8-4ddc-b6ce-9e296cef19c6%40isocpp.org.

------=_Part_147_661117364.1473302718599
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><p style=3D"font-size: 12px; line-height: normal; font-fam=
ily: Helvetica; color: rgb(69, 69, 69);">Hello world,</p>
<p style=3D"font-size: 12px; line-height: normal; font-family: Helvetica; c=
olor: rgb(69, 69, 69); min-height: 14px;"><br></p>
<p style=3D"font-size: 12px; line-height: normal; font-family: Helvetica; c=
olor: rgb(69, 69, 69);">At C++now this year, I gave a lecture, &quot;What i=
s the basic interface?&quot; In it, I covered some of the problems involved=
 in defining formal interfaces for functions in a procedural language like =
C++, with a focus on the parts of a function&#39;s interface that usually g=
o without saying.</p>
<p style=3D"font-size: 12px; line-height: normal; font-family: Helvetica; c=
olor: rgb(69, 69, 69); min-height: 14px;"><br></p>
<p style=3D"font-size: 12px; line-height: normal; font-family: Helvetica; c=
olor: rgb(69, 69, 69);">The talk was well-received, and afterward, a number=
 of people asked me to write a paper on the notation I used in the talk -- =
essentially, an extension to C++ allowing function interfaces to be specifi=
ed procedurally, in sufficient detail to prove local correctness.</p>
<p style=3D"font-size: 12px; line-height: normal; font-family: Helvetica; c=
olor: rgb(69, 69, 69); min-height: 14px;"><br></p>
<p style=3D"font-size: 12px; line-height: normal; font-family: Helvetica; c=
olor: rgb(69, 69, 69);">This is, of course, no small undertaking. What I&#3=
9;ve written so far is more outline than concrete proposal, and even so, it=
 is rather lengthy and omits important details. But I present it here for y=
our consideration:=C2=A0</p>
<p style=3D"font-size: 12px; line-height: normal; font-family: Helvetica; c=
olor: rgb(69, 69, 69); min-height: 14px;"><br></p>
<p style=3D"font-size: 12px; line-height: normal; font-family: Helvetica; c=
olor: rgb(69, 69, 69);">&lt;https://drive.google.com/open?id=3D0B4pQ0YXYmdW=
RYnNaRC1Vb1pmakU&gt;</p>
<p style=3D"font-size: 12px; line-height: normal; font-family: Helvetica; c=
olor: rgb(69, 69, 69); min-height: 14px;"><br></p>
<p style=3D"font-size: 12px; line-height: normal; font-family: Helvetica; c=
olor: rgb(69, 69, 69);">I&#39;ll be reprising &quot;What is the basic inter=
face?&quot; at CppCon this month, but meanwhile, video of my C++now present=
ation is on YouTube. The slides are available separately on github. The pre=
sentation may help with understanding the paper: it provides context, and i=
t may be better organized. (The video ends unexpectedly; we thought we coul=
d keep filming after the break, but we were wrong.)</p>
<p style=3D"font-size: 12px; line-height: normal; font-family: Helvetica; c=
olor: rgb(69, 69, 69); min-height: 14px;"><br></p>
<p style=3D"font-size: 12px; line-height: normal; font-family: Helvetica; c=
olor: rgb(69, 69, 69);">&lt;https://youtu.be/1b_W23lyTPw&gt;</p>
<p style=3D"font-size: 12px; line-height: normal; font-family: Helvetica; c=
olor: rgb(69, 69, 69);">&lt;https://github.com/boostcon/cppnow_presentation=
s_2016/blob/master/03_friday/what_is_the_basic_interface.pdf&gt;</p>
<p style=3D"font-size: 12px; line-height: normal; font-family: Helvetica; c=
olor: rgb(69, 69, 69); min-height: 14px;"><br></p>
<p style=3D"font-size: 12px; line-height: normal; font-family: Helvetica; c=
olor: rgb(69, 69, 69);">Thank you,</p>
<p style=3D"font-size: 12px; line-height: normal; font-family: Helvetica; c=
olor: rgb(69, 69, 69);">=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 --Lisa Lippincott</p><div><br></div></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/52f1577b-9ee8-4ddc-b6ce-9e296cef19c6%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/52f1577b-9ee8-4ddc-b6ce-9e296cef19c6=
%40isocpp.org</a>.<br />

------=_Part_147_661117364.1473302718599--

------=_Part_146_487979941.1473302718599--

.
