220 11702 <CALd5_cnXtzU98vFSsGonQfiKx0gBe9J9wfa7-4MUAeP-ZjZU5Q@mail.gmail.com> article
Path: news.gmane.org!not-for-mail
From: "J. Daniel Garcia" <josedaniel.garcia@uc3m.es>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Value constraints (or contract programming in C++)
Date: Tue, 8 Jul 2014 22:17:21 +0200
Lines: 137
Approved: news@gmane.org
Message-ID: <CALd5_cnXtzU98vFSsGonQfiKx0gBe9J9wfa7-4MUAeP-ZjZU5Q@mail.gmail.com>
References: <fb0e45e5-4838-453e-8da7-70a4d8c00d32@isocpp.org>
 <CAFk2RUYJap9GeX+DBoPOY1vyFVkHatetfgs5jAcM8D2Wm+KMrQ@mail.gmail.com>
 <befe0668-7ce5-4a0e-8004-d23c89dcbb1c@isocpp.org> <CAOU91OOuM9HOSTNo-NvbCGrnENoStNSi=KbtJ+B0yovjM1F-DQ@mail.gmail.com>
 <CAOU91OOPe-bTz5Z8U8r9T1YTiF_9q0sKp97_miBys+0hQhB=gg@mail.gmail.com> <CAOU91OOOiWWm=kOcGRth0CJCw8Y9ZSU3pnyUx7wyAiAZPTphtg@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary=20cf301cc0c8dd8d0304fdb4495d
X-Trace: ger.gmane.org 1404850692 19875 80.91.229.3 (8 Jul 2014 20:18:12 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Tue, 8 Jul 2014 20:18:12 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBCFIPGWXVYIRB6VD6GOQKGQE5PRMSNQ@isocpp.org Tue Jul 08 22:18:05 2014
Return-path: <std-proposals+bncBCFIPGWXVYIRB6VD6GOQKGQE5PRMSNQ@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-yh0-f71.google.com ([209.85.213.71])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCFIPGWXVYIRB6VD6GOQKGQE5PRMSNQ@isocpp.org>)
	id 1X4bpz-0007cx-TX
	for gclcip-std-proposals@m.gmane.org; Tue, 08 Jul 2014 22:18:04 +0200
Original-Received: by mail-yh0-f71.google.com with SMTP id t59sf25887371yho.6
        for <gclcip-std-proposals@m.gmane.org>; Tue, 08 Jul 2014 13:18:02 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:mime-version:sender: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:content-type;
        bh=DjCCSt+Rwh81o/FhSlCyVOzrHhXtIyQ/QUJDpEp9HYA=;
        b=KLy3p3Vout00kFBwUpl5VPVdccm9Z9iK/vMTbijYZDlfG5JKWeNUPVpLAvLZmzf/Hz
         ZxaGTDQlCcI+rtD6UYfbRs9XtsfAmBVgNZDqqhdv2TsOsVESLnhnTQEPZUFGSk45lpU3
         1vGY+aK5z2t8dRecsKq8+DpoX+6TFE9ISe2W/gsZd/mL9ZHunkRSaTd7tPAfArSWEpqF
         0KKOc+PEvygGZlI3osODG8AhpfLtmIcAS37XTvJG5jWfP80ZbjjKDjf4vni3SR48dpxA
         kgWM9NjeaHMR+Ca7EHAB8MTlrwYhm3TIMiG3D9N+8cy3GcqmhDS6kf7Cp8rB1yLaBEas
         +JmQ==
X-Gm-Message-State: ALoCoQnNrMY1cWf6p75WTxA/7JEIxZyonfdWbCal8sGvC6EswsVvIMLukEpU6cue1CdZhBjZueym
X-Received: by 10.236.124.131 with SMTP id x3mr15851624yhh.14.1404850682905;
        Tue, 08 Jul 2014 13:18:02 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.50.61.133 with SMTP id p5ls537331igr.41.gmail; Tue, 08 Jul
 2014 13:18:02 -0700 (PDT)
X-Received: by 10.50.80.40 with SMTP id o8mr2249396igx.1.1404850682263;
        Tue, 08 Jul 2014 13:18:02 -0700 (PDT)
Original-Received: from mail-ie0-x22a.google.com (mail-ie0-x22a.google.com [2607:f8b0:4001:c03::22a])
        by mx.google.com with ESMTPS id a13si4582786igm.21.2014.07.08.13.18.02
        for <std-proposals@isocpp.org>
        (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
        Tue, 08 Jul 2014 13:18:02 -0700 (PDT)
Received-SPF: pass (google.com: domain of josedaniel.garcia.uc3m@gmail.com designates 2607:f8b0:4001:c03::22a as permitted sender) client-ip=2607:f8b0:4001:c03::22a;
Original-Received: by mail-ie0-f170.google.com with SMTP id lx4so4477276iec.29
        for <std-proposals@isocpp.org>; Tue, 08 Jul 2014 13:18:02 -0700 (PDT)
X-Received: by 10.42.51.204 with SMTP id f12mr43426239icg.21.1404850682037;
 Tue, 08 Jul 2014 13:18:02 -0700 (PDT)
Original-Sender: josedaniel.garcia.uc3m@gmail.com
Original-Received: by 10.64.227.41 with HTTP; Tue, 8 Jul 2014 13:17:21 -0700 (PDT)
In-Reply-To: <CAOU91OOOiWWm=kOcGRth0CJCw8Y9ZSU3pnyUx7wyAiAZPTphtg@mail.gmail.com>
X-Original-Sender: josedaniel.garcia@uc3m.es
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of josedaniel.garcia.uc3m@gmail.com designates 2607:f8b0:4001:c03::22a
 as permitted sender) smtp.mail=josedaniel.garcia.uc3m@gmail.com;
       dkim=pass header.i=@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: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:11702
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/11702>

--20cf301cc0c8dd8d0304fdb4495d
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

There are pros and cons on adding contracts to the type of a function.
N4110 does not take a clear position on this issue.

In any case a function contract is part of its interface specification.
However, take note that global state is also accessible from contract
checks.


On Tue, Jul 8, 2014 at 7:05 PM, Klaim - Jo=C3=ABl Lamotte <mjklaim@gmail.co=
m>
wrote:

> Another question: if I understand correctly, the contracts should be part
> of the signature of functions?
> If so, does it means that you have to write the contract too when you
> forward-declare a free function?
> If so, does it means that you would be able to check ONLY arguments and
> return value for free functions?
>
>
> On Tue, Jul 8, 2014 at 6:55 PM, Klaim - Jo=C3=ABl Lamotte <mjklaim@gmail.=
com>
> wrote:
>
>> Andrzej, one thing I've been wondering while reading your paper (and
>> N4110, I'm in the middle right now)
>> is: should contracts have a role in overload resolution and if yes how?
>> I know it's early to get into specifics but maybe your paper could at
>> least mention the question?
>>
>> =E2=80=8B
>>
>
>  --
>
> ---
> 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/.
>

--=20

---=20
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 e=
mail 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-proposa=
ls/.

--20cf301cc0c8dd8d0304fdb4495d
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">There are pros and cons on adding contracts to the type of=
 a function. N4110 does not take a clear position on this issue.<div><br></=
div><div>In any case a function contract is part of its interface specifica=
tion. However, take note that global state is also accessible from contract=
 checks.<br>

<div class=3D"gmail_extra"><br clear=3D"all"><div><div dir=3D"ltr"><br></di=
v></div><div class=3D"gmail_quote">On Tue, Jul 8, 2014 at 7:05 PM, Klaim - =
Jo=C3=ABl Lamotte <span dir=3D"ltr">&lt;<a href=3D"mailto:mjklaim@gmail.com=
" target=3D"_blank">mjklaim@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div dir=3D"ltr">Another question: if I unde=
rstand correctly, the contracts should be part of the signature of function=
s?<div>

If so, does it means that you have to write the contract too when you forwa=
rd-declare a free function?=C2=A0</div>
<div>If so, does it means that you would be able to check ONLY arguments an=
d return value for free functions?</div></div><div class=3D"HOEnZb"><div cl=
ass=3D"h5"><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">On=
 Tue, Jul 8, 2014 at 6:55 PM, Klaim - Jo=C3=ABl Lamotte <span dir=3D"ltr">&=
lt;<a href=3D"mailto:mjklaim@gmail.com" target=3D"_blank">mjklaim@gmail.com=
</a>&gt;</span> wrote:<br>


<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div dir=3D"ltr">Andrzej, one thing I&#39;ve=
 been wondering while reading your paper (and N4110, I&#39;m in the middle =
right now)<div>


is: should contracts have a role in overload resolution and if yes how?</di=
v><div>I know it&#39;s early to get into specifics but maybe your paper cou=
ld at least mention the question?</div>
<div><br></div>=E2=80=8B</div>
</blockquote></div><br></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" target=3D"_=
blank">std-proposals+unsubscribe@isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank">std-proposals@isocpp.org</a>.<br>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div></div></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 />

--20cf301cc0c8dd8d0304fdb4495d--

.
