220 35685 <CAC+0CCONyHq-Pxx_cG8zgohBYy4Q6ARJGBUCPszDuHzMFOuXJw@mail.gmail.com> article
Path: news.gmane.org!.POSTED!not-for-mail
From: Jake Arkinstall <jake.arkinstall@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: Rotational shift operator
Date: Thu, 30 Nov 2017 23:12:37 +0000
Lines: 91
Approved: news@gmane.org
Message-ID: <CAC+0CCONyHq-Pxx_cG8zgohBYy4Q6ARJGBUCPszDuHzMFOuXJw@mail.gmail.com>
References: <69593098-e2cc-487e-bd14-9001b27aa7c1@isocpp.org>
 <8575602.V2okVmv5xV@tjmaciei-mobl1> <CAHSYqdZwxijAyY0WurKd9hD-m1Ppx1VHcUwaq-661Jakg3wbAg@mail.gmail.com>
 <1856787.AgLzTjE61K@tjmaciei-mobl1> <CAHSYqdau53F6fJ-PfO9tQ7xaT5GPW+R8ENhd5g=qhCa_UYJtmw@mail.gmail.com>
 <CAC+0CCNYr=GV_f_TkjRe9CrLYniJ8=jg6coiw3B0kZuUTXHN4A@mail.gmail.com>
 <CAC+0CCMotpv2tMaYjx_b4AAj3PcSKQnGBzVPNVYozeh6q=cDoA@mail.gmail.com>
 <CAC+0CCO7fUCxq9Ms36AC4RQdwV+RP07Zd2WvkVqzcrtAy10Y=g@mail.gmail.com> <CAC+0CCMrPfveES=0X2jh5n1sQ=C4V7k8HO1Vu-gcxmsxwC-83A@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="001a113db2c6618275055f3b635d"
X-Trace: blaine.gmane.org 1512083559 8648 195.159.176.226 (30 Nov 2017 23:12:39 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Thu, 30 Nov 2017 23:12:39 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBDCZX3WUUQFRBZ5AQLIQKGQEOA7I36I@isocpp.org Fri Dec 01 00:12:35 2017
Return-path: <std-proposals+bncBDCZX3WUUQFRBZ5AQLIQKGQEOA7I36I@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-oi0-f69.google.com ([209.85.218.69])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBDCZX3WUUQFRBZ5AQLIQKGQEOA7I36I@isocpp.org>)
	id 1eKY0Q-0001tk-Oj
	for gclcip-std-proposals@m.gmane.org; Fri, 01 Dec 2017 00:12:34 +0100
Original-Received: by mail-oi0-f69.google.com with SMTP id 184sf3540103oii.1
        for <gclcip-std-proposals@m.gmane.org>; Thu, 30 Nov 2017 15:12:42 -0800 (PST)
ARC-Seal: i=2; a=rsa-sha256; t=1512083561; cv=pass;
        d=google.com; s=arc-20160816;
        b=LcOviFAo0n0t5tudVZg9Bn4nq/+46hoIxaV6djaTwofjLxMSASQVJTp/XmtI2XCeps
         aIuyL2hLRmQ0KHDDfAhwN3/E3Mb2qLne+TjR5YhPriXVWea7JRa1uhq6svY9+Q4bUTfx
         ekgVNIDl4vxpMyil8TpoPluhhi4kdbDG6nHDauUJUlrBN0lV5eJ1HhK/oauKv2NOB8WT
         ZlqhfsipyECgz3kxD/HhFpugGpEsl8+fMz1C2vLn/DoyQc8sU/N9YLhvQ4ea3N9dzb6s
         zk2tOUQfgzZyO6eYGpQC+LGKEKsal/vk+SkIM13LNgqxpjnL/Nm/4qC5RTTH9LPwHrZ5
         QceQ==
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:to:subject:message-id:date
         :from:references:in-reply-to:mime-version:arc-authentication-results
         :arc-message-signature:dkim-signature:arc-authentication-results;
        bh=+YSrUUz2VcXm+yp+bCipl9OY90BrwXbLlsmqxRvszEg=;
        b=RUxpXjbcq+9JFM1717jBiVkPIsWRfSP3FB81yOm9eF7QyHwoMFdiSc144YfngR9zRJ
         dDtnFrf5DXcuXmG/kyazs9z+DgJMKiZlkq74IIfZchBtk2L3s22xiIhs1zEC8kutIzFb
         AhvV9aFJfJtScfEdoz8Cmdetc+H1GUx02rfZ6QBHmm+Mdr8LV0LOlq5Yk8h9RIQ5OTQg
         xhGIfnMHCDpGKc8IpKiCgxQa0MttJsf7ZXeHldwW7+Q6cq4l1PkgLA8RZq0d4VRFoMWj
         IbeDTz7JkfYlNbsS96gf1dejBarNWBDh7fHJ8M+zmc9c0z+AWRXatY0S9PdJLiJP5QYQ
         1YFA==
ARC-Authentication-Results: i=2; mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20161025 header.b=MZd039Oj;
       spf=pass (google.com: domain of jake.arkinstall@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=jake.arkinstall@gmail.com;
       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=mime-version: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;
        bh=+YSrUUz2VcXm+yp+bCipl9OY90BrwXbLlsmqxRvszEg=;
        b=D013xMgp6HxpuHqlfR1NLp98tcVYNj/uPX12XNxgimfbSJVUSQyU8QRhmkBWfLKcXQ
         yv+hX5ZkEqjygL+ut/ABd+RBc6RtWw6A2KM7DmjvsYEqDDhHGCiFT15EEyGWe1RbdMV/
         dkxotQsNSsCX07JogdaOSoRIUHVdJXcN/Aji77uAXLmYNUHT5yTt+C1jgRTXSLUj9Gs5
         q+1wgHL0BAOaO6BhyYEKlcEdXjTWKfqQfZPynMTOEm1DDcCYJkdYFyE52fXuV1ikBcfO
         aHXn2YjXBQUw111cuO80NDp7wdkV93m8L5B303OcR98qEbdfmpJQJAusFmYcrTKYqUF+
         sVyQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:in-reply-to:references:from:date
         :message-id:subject:to: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=+YSrUUz2VcXm+yp+bCipl9OY90BrwXbLlsmqxRvszEg=;
        b=nLdldG7+WM7fErltGVJ/v+TVSQ7MBpwpzsR5IIbbFi1KwbKNGX40gfj5nx5UHYtiu/
         Fv6rAxULXfgrJnvyjlLsFurXbUJwO20tY2IzBYJiy1P8RzrPguaF0m4plxyZo/4TBGa5
         Gg9N/QVWw4ohuQ66VKDk4SrIY+igGOcvucHnE4eoXGcj/oOyCyFr/a2LPT/mnYytD1Ex
         aFB58nO+t/0mHqB44TZ8of0X8MaH43KJADr9Mgl+9UOCg6iqYaLZiE2q1JoFMtvtd8Ze
         mYVqeJoBzfhVb6nPCEhM2eeFgufo/F+7UXuXXKH06Dft85CrP3d+/sDpH0F+ZYKVA5H9
         r4Yg==
X-Gm-Message-State: AJaThX7FRxvCqj518hte01vuCvzKkBQ/Z/ZFKhpakUGyaWqCAKtKBk9J
	KBxbQaAGYdHmi7ej9gM4mvjpaQ==
X-Google-Smtp-Source: AGs4zMZODz07Xj9BzM3CfBxjKifz8iesN5jnjh+DslbEzibHnxlEQA/G3ajZoQpvpjVkz8k0SraVDg==
X-Received: by 10.157.14.123 with SMTP id n56mr4317784otd.61.1512083561781;
        Thu, 30 Nov 2017 15:12:41 -0800 (PST)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.157.18.139 with SMTP id g11ls7416414otg.15.gmail; Thu, 30 Nov
 2017 15:12:39 -0800 (PST)
X-Received: by 10.202.83.22 with SMTP id h22mr5614949oib.8.1512083559107;
        Thu, 30 Nov 2017 15:12:39 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; t=1512083559; cv=none;
        d=google.com; s=arc-20160816;
        b=gRlxbcSHAksLxWoN+MPZJpQIcWMHZLLYWxRmBzOxl4p/kI/hkxpvV3NaGlEjxdfBGZ
         deOQtt3DxTwr7nU3B4riRWkGph8SEKTVegaxpKh4z78+79IwPtYFFQD1E3aMHp0F0GQd
         Hg+tujkUKgHNB0fhOD9b5LD9v4kCf7p1fG47yBMfnqqdgqH3kWhSoRBIvFafcNqX45r9
         dbC9Q1hmBp99ul/3h1Pf/62qTbG0Gi1e9diPY1y5a213Hs6hACn2y//3FMtsIYK+uadS
         d14o7Zd9E3jjErf7tWawit5IRqV6Vm4FbwI2a4VQkJxsBLsKoDRM+6PsqIkOO29otX6R
         Jcmg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=to:subject:message-id:date:from:references:in-reply-to:mime-version
         :dkim-signature:arc-authentication-results;
        bh=71Us7deUYbgTr3OVtvJMMeURESOMrV5IY2KRrnjTQi8=;
        b=pt/34kDyp/aXxea3zPd9YhVUa/th/k7YfBlQexWARQrQhOiIVTVhC5oiy85zEhvtXm
         80NIQlI296H2J2RSd4Ejtdq6t/HpB+NUnyoz7sjLRb16n0ikd+F1G/10EIztAnuNcnaX
         MAFdrWWjFYkLPBZVYtvfOnt2KdJxppHGSMcjVf+X8UpuNv7UrYsuGZ9NespXroPYmTps
         qumilIe9oOn8/WTHD51wPcm5LlqroeABNOu6XHVi85G1uT2T21ek2vKIeIMMHbyskz6a
         gE0wb+qcfg87AoRKvOJSK8JuBKmrmmuOF0DkJiys8mAUI6+7+21yk7DIqcZXmnyojWM8
         je3Q==
ARC-Authentication-Results: i=1; mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20161025 header.b=MZd039Oj;
       spf=pass (google.com: domain of jake.arkinstall@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=jake.arkinstall@gmail.com;
       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com
Original-Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41])
        by mx.google.com with SMTPS id c136sor1719503oih.283.2017.11.30.15.12.39
        for <std-proposals@isocpp.org>
        (Google Transport Security);
        Thu, 30 Nov 2017 15:12:39 -0800 (PST)
Received-SPF: pass (google.com: domain of jake.arkinstall@gmail.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41;
X-Received: by 10.202.73.144 with SMTP id w138mr5901762oia.213.1512083558595;
 Thu, 30 Nov 2017 15:12:38 -0800 (PST)
Original-Received: by 10.168.69.140 with HTTP; Thu, 30 Nov 2017 15:12:37 -0800 (PST)
Original-Received: by 10.168.69.140 with HTTP; Thu, 30 Nov 2017 15:12:37 -0800 (PST)
In-Reply-To: <CAC+0CCMrPfveES=0X2jh5n1sQ=C4V7k8HO1Vu-gcxmsxwC-83A@mail.gmail.com>
X-Original-Sender: jake.arkinstall@gmail.com
X-Original-Authentication-Results: mx.google.com;       dkim=pass
 header.i=@gmail.com header.s=20161025 header.b=MZd039Oj;       spf=pass
 (google.com: domain of jake.arkinstall@gmail.com designates 209.85.220.41 as
 permitted sender) smtp.mailfrom=jake.arkinstall@gmail.com;       dmarc=pass
 (p=NONE sp=NONE dis=NONE) header.from=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:35685
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/35685>

--001a113db2c6618275055f3b635d
Content-Type: text/plain; charset="UTF-8"

On 30 Nov 2017 22:42, "Hyman Rosen" <hyman.rosen@gmail.com> wrote:

The premise that got C++ off the ground was its backwards-compatibility.
It was C with Classes, you could gain the benefits of the bits you used and
your plain old C code would keep working fine.


Those days are long gone - and good riddance to them.

People have better things to do than to go chasing down problems in old
systems because the new shiny decided to break them.


This is why we have versioning. If you have an old system that fails
because it relied on one compiler's approach to an undefined behaviour, you
have absolutely NO contract with the compiler such that later versions will
accommodate your shoddy code. If you want undefined behaviour to remain the
same, keep the same compiler.

Ada's handling of undefined behaviour sounds like it adds overhead (in the
form of branching). Maybe I'm wrong, as I don't know Ada. I see what you're
getting at though. For the record, a C++ implementation is perfectly
welcome to detect undefined behaviour and handle it exactly in this way -
as the behaviour is undefined, the compiler can do with it what it wants.
With a less newbie friendly compiler, though, the focus will be on making
assumptions that you're operating within defined bounds in order to perform
some optimisation.

-- 
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/CAC%2B0CCONyHq-Pxx_cG8zgohBYy4Q6ARJGBUCPszDuHzMFOuXJw%40mail.gmail.com.

--001a113db2c6618275055f3b635d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto"><br><div class=3D"gmail_extra" dir=3D"auto"><br><div clas=
s=3D"gmail_quote">On 30 Nov 2017 22:42, &quot;Hyman Rosen&quot; &lt;<a href=
=3D"mailto:hyman.rosen@gmail.com">hyman.rosen@gmail.com</a>&gt; wrote:<br t=
ype=3D"attribution"><blockquote class=3D"quote" style=3D"margin:0 0 0 .8ex;=
border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div class=3D=
"gmail_extra"><div class=3D"gmail_quote"><div class=3D"quoted-text">The pre=
mise that got C++ off the ground was its backwards-compatibility.</div><div=
>It was C with Classes, you could gain the benefits of the bits you used an=
d<br>your plain old C code would keep working fine.</div></div></div></div>=
</blockquote></div></div><div dir=3D"auto"><br></div><div class=3D"gmail_ex=
tra" dir=3D"auto"></div><div dir=3D"auto">Those days are long gone - and go=
od riddance to them.</div><div dir=3D"auto"><br></div><div class=3D"gmail_e=
xtra" dir=3D"auto"><div class=3D"gmail_quote"><blockquote class=3D"quote" s=
tyle=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div=
 dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote"><div>Peo=
ple have better things to do than to go chasing down problems in old<br>sys=
tems because the new shiny decided to break them.</div></div></div></div></=
blockquote></div></div><div dir=3D"auto"><br></div><div dir=3D"auto">This i=
s why we have versioning. If you have an old system that fails because it r=
elied on one compiler&#39;s approach to an undefined behaviour, you have ab=
solutely NO contract with the compiler such that later versions will accomm=
odate your shoddy code. If you want undefined behaviour to remain the same,=
 keep the same compiler.</div><div dir=3D"auto"><br></div><div dir=3D"auto"=
>Ada&#39;s handling of undefined behaviour sounds like it adds overhead (in=
 the form of branching). Maybe I&#39;m wrong, as I don&#39;t know Ada. I se=
e what you&#39;re getting at though. For the record, a C++ implementation i=
s perfectly welcome to detect undefined behaviour and handle it exactly in =
this way - as the behaviour is undefined, the compiler can do with it what =
it wants. With a less newbie friendly compiler, though, the focus will be o=
n making assumptions that you&#39;re operating within defined bounds in ord=
er to perform some optimisation.</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/CAC%2B0CCONyHq-Pxx_cG8zgohBYy4Q6ARJGB=
UCPszDuHzMFOuXJw%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">h=
ttps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAC%2B0CCONyHq-=
Pxx_cG8zgohBYy4Q6ARJGBUCPszDuHzMFOuXJw%40mail.gmail.com</a>.<br />

--001a113db2c6618275055f3b635d--

.
