220 4278 <CAOHCbisNTb-hxSwmsWssNw-T6Yvv+0=PArU09onJOp=izO9RLA@mail.gmail.com> article
Path: news.gmane.org!not-for-mail
From: Tony V E <tvaneerd@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Fixing Standard Library relational operators (was:
 Re: optional Rev.4 (N3672): What was the rationale to remove
 !=, >=, ...)
Date: Sat, 4 May 2013 11:16:45 -0400
Lines: 127
Approved: news@gmane.org
Message-ID: <CAOHCbisNTb-hxSwmsWssNw-T6Yvv+0=PArU09onJOp=izO9RLA@mail.gmail.com>
References: <CAGg_6+NTws7QyEAsEUd308yx4LncpD_r6x4yJEJy5RN2w6v2Hw@mail.gmail.com>
	<CAPXezF9duRWCYnWr2DqfFjim6w2MPc3TMQOR+pJ4tryUnAeOtQ@mail.gmail.com>
	<CAPXezF8G-553darW6YfNKCnWQH0+TNeMAep-X3ozTY1=PXqsag@mail.gmail.com>
	<5f236e41-0f5f-4288-a80f-9eadb5168c38@isocpp.org>
	<CAFk2RUZT93__SiUdvD+=x+Z5MiCWGFUaiinsMHE+z515YndmEA@mail.gmail.com>
	<CAOHCbiunfVdO7woaYpZC7uaYbgMznqfjiS9qjMaHrSnWxxZXqw@mail.gmail.com>
	<CAFk2RUY4P-1XCmJ_6-H-YnRWENst6dYbGbQeVQfHxbQ63E_fDA@mail.gmail.com>
	<CAOHCbivpxZj-LucG-OwCpzTQ=r5jKp=--tsKzjDndFW6y0rKmw@mail.gmail.com>
	<CAFk2RUaHiG=rUhj6K5G7kvTPOei7HkQpv7EFQS9OZ_M8=EjqmA@mail.gmail.com>
	<CAOHCbiuWr10MKkbt_0piDN-hUALGyAEutDcyAC-CSPk31ZZyvw@mail.gmail.com>
	<CAFk2RUajTfx8Z2aX-WF9ryVVDzUGLCQkhioJgJrCmi+iCeD0zA@mail.gmail.com>
	<CAOHCbitcE7iOuTygFwj9VYgzvrPwPXCeEMGHiF2Y3uPhRAtrNQ@mail.gmail.com>
	<CAFk2RUZWSuTtr_MTCgcfFMcTmENs4EJL-WsoYJcD3UDBm7V6AQ@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary=089e01184510ac00d004dbe5f4df
X-Trace: ger.gmane.org 1367680609 8954 80.91.229.3 (4 May 2013 15:16:49 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Sat, 4 May 2013 15:16:49 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBCUZ5QWKNQIN5TEURQCRUBHP2I7XG@isocpp.org Sat May 04 17:16:49 2013
Return-path: <std-proposals+bncBCUZ5QWKNQIN5TEURQCRUBHP2I7XG@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-wi0-f198.google.com ([209.85.212.198])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCUZ5QWKNQIN5TEURQCRUBHP2I7XG@isocpp.org>)
	id 1UYeCd-0002SG-Kf
	for gclcip-std-proposals@m.gmane.org; Sat, 04 May 2013 17:16:47 +0200
Original-Received: by mail-wi0-f198.google.com with SMTP id hq12sf2325428wib.5
        for <gclcip-std-proposals@m.gmane.org>; Sat, 04 May 2013 08:16:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=x-received:x-beenthere:x-received:received-spf:mime-version
         :x-received:in-reply-to:references:date:message-id:subject:from:to
         :x-original-sender:x-original-authentication-results:reply-to
         :precedence:mailing-list:list-id:x-google-group-id:list-post
         :list-help:list-archive:list-subscribe:list-unsubscribe:content-type;
        bh=/WOYj5ClfERExLAvoL1BvZ/yxrXSAA95tNMBKv7E65M=;
        b=A+jOz2XM/GvQ4QB88mxut7C0xU59AcZVrFp8XIjv31QBa9zwBBSZGiTjBrLxu46ExB
         4zkikDFSLn/yOc2satdOB92F3DPpYDzUsAqCS23ffOVHiin7+94RJfI1LLD5RxbvGQMu
         bAU1TB5Y6laLZov3oHqQ617D3GIShPcvXV5mcKKS8+fdjHzOyjdRL5R7E3r71Yr5pEWm
         Pd/GcnEsq6yna5NaWJqcvGiDNNN5O24oSTOzU3hHE9jpt1CsFq5oMiVtr4ZSVR0XTkkL
         ETkoRdToeOhh6oFdJ0+mOtnVgXMFx1tqiOdUN4DdNl6MhDsSLharsl/bFjU4O8BOEZP3
  
X-Received: by 10.112.129.40 with SMTP id nt8mr15633164lbb.13.1367680606945;
        Sat, 04 May 2013 08:16:46 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.152.2.37 with SMTP id 5ls61685lar.92.gmail; Sat, 04 May 2013
 08:16:45 -0700 (PDT)
X-Received: by 10.112.126.40 with SMTP id mv8mr1830760lbb.122.1367680605909;
        Sat, 04 May 2013 08:16:45 -0700 (PDT)
Original-Received: from mail-lb0-f172.google.com (mail-lb0-f172.google.com [209.85.217.172])
        by mx.google.com with ESMTPS id bh8si3474042lbc.74.2013.05.04.08.16.45
        for <std-proposals@isocpp.org>
        (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
        Sat, 04 May 2013 08:16:45 -0700 (PDT)
Received-SPF: pass (google.com: domain of tvaneerd@gmail.com designates 209.85.217.172 as permitted sender) client-ip=209.85.217.172;
Original-Received: by mail-lb0-f172.google.com with SMTP id y6so2340795lbh.31
        for <std-proposals@isocpp.org>; Sat, 04 May 2013 08:16:45 -0700 (PDT)
X-Received: by 10.112.163.105 with SMTP id yh9mr5755898lbb.63.1367680605747;
 Sat, 04 May 2013 08:16:45 -0700 (PDT)
Original-Received: by 10.112.2.167 with HTTP; Sat, 4 May 2013 08:16:45 -0700 (PDT)
In-Reply-To: <CAFk2RUZWSuTtr_MTCgcfFMcTmENs4EJL-WsoYJcD3UDBm7V6AQ@mail.gmail.com>
X-Original-Sender: tvaneerd@gmail.com
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of tvaneerd@gmail.com designates 209.85.217.172 as permitted sender)
 smtp.mail=tvaneerd@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?hl=en>,
 <mailto:std-proposals@isocpp.org>
List-Help: <http://support.google.com/a/isocpp.org/bin/topic.py?hl=en&topic=25838>,
 <mailto:std-proposals+help@isocpp.org>
List-Archive: <http://groups.google.com/a/isocpp.org/group/std-proposals/?hl=en>
List-Subscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe?hl=en>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe?hl=en>,
 <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:4278
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/4278>

--089e01184510ac00d004dbe5f4df
Content-Type: text/plain; charset=ISO-8859-1

On Sat, May 4, 2013 at 10:46 AM, Ville Voutilainen <
ville.voutilainen@gmail.com> wrote:

>
>
>
> On 4 May 2013 17:32, Tony V E <tvaneerd@gmail.com> wrote:
>
>>
>>
>> Although the question of *whether* optional should define > has come up,
>> the conversation has  mostly been about *how* it is defined.  You have
>> proposed "NaNs be damned".  If you don't care about NaNs and other
>> "non-normal" types, either definition that we have been discussing will
>> work fine.  They have the same behaviour for normal types.
>>
>>
>>
> Indeed. And failing to achieve consensus means we'll get the current
> lovely situation, where
> we can't even do opt1 != opt2 because people are so concerned about double
> NaNs, apparently.
> Not for optional<int>, not for optional<string>, not for the gazillion
> types for which it would be useful,
> because of the holy NaN. Pardon me for the sardonic overtone, but the
> current situation has been
> designed by people who have completely lost their marbles.
>
>
>

Agreed.  Some people have lost their marbles.

So you are OK if we end up with either (so far discussed) definition of
optional > and optional != because
- you get the operators
- they are equivalent for normal types - the types you care about
?
:-)

Note the original proposal used both definitions (one for opt > opt, the
other for opt > T) and there *was* consensus in LEWG on which definition to
pick.  So, in a sense, we don't have != because people were so concerned
about matching tuple.

-- 

--- 
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/?hl=en.



--089e01184510ac00d004dbe5f4df
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><br><div class=3D"gmail=
_quote">On Sat, May 4, 2013 at 10:46 AM, Ville Voutilainen <span dir=3D"ltr=
">&lt;<a href=3D"mailto:ville.voutilainen@gmail.com" target=3D"_blank">vill=
e.voutilainen@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"><br><div class=3D"gmail_ext=
ra"><br><br><div class=3D"gmail_quote"><div class=3D"im">On 4 May 2013 17:3=
2, Tony V E <span dir=3D"ltr">&lt;<a href=3D"mailto:tvaneerd@gmail.com" tar=
get=3D"_blank">tvaneerd@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"><br><div><br></div><div cla=
ss=3D"gmail_extra"><div class=3D"gmail_quote"><div>Although the question of=
 *whether* optional should define &gt; has come up, the conversation has =
=A0mostly been about *how* it is defined. =A0You have proposed &quot;NaNs b=
e damned&quot;. =A0If you don&#39;t care about NaNs and other &quot;non-nor=
mal&quot; types, either definition that we have been discussing will work f=
ine. =A0They have the same behaviour for normal types.</div>

<span><font color=3D"#888888">
<div><br><br></div></font></span></div></div></div></blockquote><div><br></=
div></div><div>Indeed. And failing to achieve consensus means we&#39;ll get=
 the current lovely situation, where<br>we can&#39;t even do opt1 !=3D opt2=
 because people are so concerned about double NaNs, apparently. <br>

</div></div>Not for optional&lt;int&gt;, not for optional&lt;string&gt;, no=
t for the gazillion types for which it would be useful,<br>because of the h=
oly NaN. Pardon me for the sardonic overtone, but the current situation has=
 been<br>

</div><div class=3D"gmail_extra">designed by people who have completely los=
t their marbles.<br></div><div class=3D"gmail_extra"><br></div></div><div c=
lass=3D"HOEnZb"><div class=3D"h5">

=A0=A0</div></div></blockquote><div><br></div><div>Agreed. =A0Some people h=
ave lost their marbles.</div><div><br></div><div>So you are OK if we end up=
 with either (so far discussed) definition of optional &gt; and optional !=
=3D because=A0</div>
<div>- you get the operators</div><div>- they are equivalent for normal typ=
es - the types you care about</div><div>?</div><div>:-)</div><div><br></div=
><div>Note the original proposal used both definitions (one for opt &gt; op=
t, the other for opt &gt; T) and there *was* consensus in LEWG on which def=
inition to pick.=A0 So, in a sense, we don&#39;t have !=3D because people w=
ere so concerned about matching tuple.</div>
<div><br></div><div>=A0</div><div><br></div><div><br></div><div><br></div><=
div><br></div></div></div></div>

<p></p>

-- <br />
&nbsp;<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 std-proposals+unsubscribe@isocpp.org.<br />
To post to this group, send email to std-proposals@isocpp.org.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/?hl=3Den">http://groups.google.com/a/isocpp.org/group/std-pro=
posals/?hl=3Den</a>.<br />
&nbsp;<br />
&nbsp;<br />

--089e01184510ac00d004dbe5f4df--

.
