From owner-sc22wg5@open-std.org  Tue Mar  2 20:49:27 2010
Return-Path: <owner-sc22wg5@open-std.org>
X-Original-To: sc22wg5-dom8
Delivered-To: sc22wg5-dom8@www2.open-std.org
Received: by www2.open-std.org (Postfix, from userid 521)
	id 24CD4C3BA14; Tue,  2 Mar 2010 20:49:27 +0100 (CET)
X-Original-To: sc22wg5@open-std.org
Delivered-To: sc22wg5@open-std.org
X-Greylist: delayed 352 seconds by postgrey-1.18 at www2.open-std.org; Tue, 02 Mar 2010 20:49:25 CET
Received: from mail-iw0-f185.google.com (mail-iw0-f185.google.com [209.85.223.185])
	by www2.open-std.org (Postfix) with ESMTP id 0297FC3BA13
	for <sc22wg5@open-std.org>; Tue,  2 Mar 2010 20:49:25 +0100 (CET)
Received: by iwn15 with SMTP id 15so515955iwn.7
        for <sc22wg5@open-std.org>; Tue, 02 Mar 2010 11:49:24 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=gamma;
        h=domainkey-signature:mime-version:received:in-reply-to:references
         :date:message-id:subject:from:to:cc:content-type;
        bh=XNGijDr+x26mhbCykXozSZXcvvmhUoh/q3qxSRAogDE=;
        b=C5cVPqOb9qBIPpc1eIYkaDIw76OMSS2XzMv1WvOSF6TObfSh5jDJ3aX1lN/qV0+xqT
         IsYTpCQDJZ+HHGjV74iRLqfZYfL/X81aC5ifkR5rMcJ6DokhEv4YMvvErvx4PQQ8463V
         GmjW3gu7KlofdpwNpN6hz4e/wxxfRncYdz0ws=
DomainKey-Signature: a=rsa-sha1; c=nofws;
        d=gmail.com; s=gamma;
        h=mime-version:in-reply-to:references:date:message-id:subject:from:to
         :cc:content-type;
        b=KUIzT1J2tTGaSBZwtNB6rnliMgceHi+FAYD2r2s8nOWlZ0hAbOZ4FulKyw8kJnmljp
         Nl9ce1pIwAl0GYzUP5B992a2zWwt+7C9s98C3QqE3Jf8HN/h/CDxBpS3lPcGeKZuiBOS
         iuD3/THfOo5oNepBSAL/u0S8Usu0ZmWSDlklY=
MIME-Version: 1.0
Received: by 10.231.170.201 with SMTP id e9mr148027ibz.15.1267559010725; Tue, 
	02 Mar 2010 11:43:30 -0800 (PST)
In-Reply-To: <20100302082559.E6439C178E5@www2.open-std.org>
References: <20100301174456.8A65CC178D9@www2.open-std.org>
	 <20100301181556.45D4FC178D9@www2.open-std.org>
	 <20100301230324.6ED33C178DF@www2.open-std.org>
	 <20100302082559.E6439C178E5@www2.open-std.org>
Date: Tue, 2 Mar 2010 12:43:30 -0700
Message-ID: <c9b417d11003021143g1d9d864ew36ee632d47935ecc@mail.gmail.com>
Subject: Re: (j3.2006) (SC22WG5.4210) [ukfortran] RE: 43 Fortran compilers
From: Keith Bierman <khbkhb@gmail.com>
To: fortran standards email list for J3 <j3@j3-fortran.org>
Cc: "sc22wg5@open-std.org" <sc22wg5@open-std.org>
Content-Type: multipart/alternative; boundary=00504501810290ede90480d69461
Sender: owner-sc22wg5@open-std.org
Precedence: bulk

--00504501810290ede90480d69461
Content-Type: text/plain; charset=ISO-8859-1

http://www.quadibloc.com/comp/cp0201.htm

And yes, reading the description it's easy to see how a programmer could
either be confused, or could be right ... but only in the context of the
original machine.,,, making porting those parts of the code hard.

Of course, there are people who aren't trying to write portable code. They
often live to regret it ;>


Keith Bierman
khbkhb@gmail.com
kbiermank AIM
303 997 2749


On Tue, Mar 2, 2010 at 1:25 AM, N.M. Maclaren <nmm1@cam.ac.uk> wrote:

> On Mar 1 2010, Bill Long wrote:
>
>>
>> Indeed, M77.  I looked at the manual and found that, in 1980, M77 had the
>> radical extension of A .op. B where op was and, or, xor, ... and A and B
>> were numeric type variables, with the operations bitwise.  Only 30 years
>> ago.  Maybe this idea needs a bit more time to mature. :)
>>
>
> Or rot down?
>
> It was a major nightmare - and I don't mean just for portability.
> Even with a single compiler for a single architecture, bit-flipping
> on REAL and the sign bit of integers is beyond the ability of almost
> all programmers.  If I recall, those machines weren't twos complement,
> either, but I didn't use them directly.
>
> Restricting it to non-negative integers has worked in many languages,
> but with the ongoing problem of priority.  A == B.OR.C has been a major
> gotcha in every language that I know of that has allowed it.  Even using
> two operators for the two priorities (and, to some extent, functionality)
> helps only a little.
>
> And, yes, I do mean that porting CDC Fortran wasn't JUST a matter of
> changing its syntax - it was amazing how often one discovered that the
> original programmer had made an error with bit twiddling due to the
> above gotchas.
>
> Regards,
> Nick Maclaren.
>
>
> _______________________________________________
> J3 mailing list
> J3@j3-fortran.org
> http://j3-fortran.org/mailman/listinfo/j3
>

--00504501810290ede90480d69461
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<a href=3D"http://www.quadibloc.com/comp/cp0201.htm">http://www.quadibloc.c=
om/comp/cp0201.htm</a><div><br></div><div>And yes, reading the description =
it&#39;s easy to see how a programmer could either be confused, or could be=
 right ... but only in the context of the original machine.,,, making porti=
ng those parts of the code hard.</div>
<div><br></div><div>Of course, there are people who aren&#39;t trying to wr=
ite portable code. They often live to regret it ;&gt;</div><div><br></div><=
div><br clear=3D"all">Keith Bierman<br><a href=3D"mailto:khbkhb@gmail.com">=
khbkhb@gmail.com</a><br>
kbiermank AIM<br>303 997 2749<br>
<br><br><div class=3D"gmail_quote">On Tue, Mar 2, 2010 at 1:25 AM, N.M. Mac=
laren <span dir=3D"ltr">&lt;<a href=3D"mailto:nmm1@cam.ac.uk">nmm1@cam.ac.u=
k</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margi=
n:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
On Mar 1 2010, Bill Long wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
<br>
Indeed, M77. =A0I looked at the manual and found that, in 1980, M77 had the=
 radical extension of A .op. B where op was and, or, xor, ... and A and B w=
ere numeric type variables, with the operations bitwise. =A0Only 30 years a=
go. =A0Maybe this idea needs a bit more time to mature. :)<br>

</blockquote>
<br>
Or rot down?<br>
<br>
It was a major nightmare - and I don&#39;t mean just for portability.<br>
Even with a single compiler for a single architecture, bit-flipping<br>
on REAL and the sign bit of integers is beyond the ability of almost<br>
all programmers. =A0If I recall, those machines weren&#39;t twos complement=
,<br>
either, but I didn&#39;t use them directly.<br>
<br>
Restricting it to non-negative integers has worked in many languages,<br>
but with the ongoing problem of priority. =A0A =3D=3D B.OR.C has been a maj=
or<br>
gotcha in every language that I know of that has allowed it. =A0Even using<=
br>
two operators for the two priorities (and, to some extent, functionality)<b=
r>
helps only a little.<br>
<br>
And, yes, I do mean that porting CDC Fortran wasn&#39;t JUST a matter of<br=
>
changing its syntax - it was amazing how often one discovered that the<br>
original programmer had made an error with bit twiddling due to the<br>
above gotchas.<br>
<br>
Regards,<br>
Nick Maclaren.<br>
<br>
<br>
_______________________________________________<br>
J3 mailing list<br>
<a href=3D"mailto:J3@j3-fortran.org" target=3D"_blank">J3@j3-fortran.org</a=
><br>
<a href=3D"http://j3-fortran.org/mailman/listinfo/j3" target=3D"_blank">htt=
p://j3-fortran.org/mailman/listinfo/j3</a><br>
</blockquote></div><br></div>

--00504501810290ede90480d69461--
