From owner-sc22wg5+sc22wg5-dom9=www.open-std.org@open-std.org  Tue May 10 04:39:12 2022
Return-Path: <owner-sc22wg5+sc22wg5-dom9=www.open-std.org@open-std.org>
X-Original-To: sc22wg5-dom9
Delivered-To: sc22wg5-dom9@www.open-std.org
Received: by www.open-std.org (Postfix, from userid 521)
	id 060529DB16B; Tue, 10 May 2022 04:39:12 +0200 (CEST)
Delivered-To: sc22wg5@open-std.org
Received: from nag-j.co.jp (bvdeuz19.secure.ne.jp [180.222.80.19])
	by www.open-std.org (Postfix) with SMTP id C510D358C0C
	for <sc22wg5@open-std.org>; Tue, 10 May 2022 04:39:09 +0200 (CEST)
Received: (qmail 26306 invoked from network); 10 May 2022 11:39:06 +0900
Received: from unknown (HELO Maru10) (218.42.159.105)
  by 0 with SMTP; 10 May 2022 11:39:06 +0900
From: "Malcolm Cohen" <malcolm@nag-j.co.jp>
To: <sc22wg5@open-std.org>
References: <1600557624.762127.1652143992891.ref@mail.yahoo.com> <20220510005505.38C919DB16B@www.open-std.org>
In-Reply-To: <20220510005505.38C919DB16B@www.open-std.org>
Subject: RE: [ukfortran] [SC22WG5.6385] WG5 Letter Ballot 2
Date: Tue, 10 May 2022 11:39:06 +0900
Message-ID: <022601d86417$1ea86f10$5bf94d30$@nag-j.co.jp>
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_0227_01D86462.8E901710"
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQGOVXwAcVVxyM1PISAR5AUL2FjZ8AFKA8b8raEsSCA=
Content-Language: ja
Sender: owner-sc22wg5@open-std.org
Precedence: bulk

This is a multipart message in MIME format.

------=_NextPart_000_0227_01D86462.8E901710
Content-Type: text/plain;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable

<<<=20

A type name can name a local entity that might seem to be
subject to the new constraint.  However, I do not think that
a derived type is "of a type" (it is a type), and therefore,
is not subject to the constraint.  I find that to be a slender
reed.=20

>>>=20

=20

A derived type name does not itself have a type, any more than the name =
of a module (that might contain type definitions that contain data =
components) has a type. In my opinion this is not a weak or slender =
reed.

=20

> A named local or construct data entity

=20

Apart from having ambiguous grammar, there is also no such thing as a =
=E2=80=9Cconstruct data entity=E2=80=9D.

=20

> be of a {declared} type

=20

We never say =E2=80=9Cof a declared type=E2=80=9D, as the =
=E2=80=9Cdeclared=E2=80=9D part goes with the entity, not with the type.

=20

Making such changes to the edit would change my vote to =
=E2=80=9CN=E2=80=9D.

=20

<<<=20

Specifically, it might be read as banning
type names that name derived types that include default
initializations of pointer components to targets.

>>>=20

=20

I disagree, but in any case, how exactly do you envisage such a type =
name being used unproblematically within a pure procedure (and without =
creating any local entity or construct entity of such a type)?

=20

Cheers,

--=20

..............Malcolm Cohen, NAG Oxford/Tokyo.


------=_NextPart_000_0227_01D86462.8E901710
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta =
http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8"><meta =
name=3DGenerator content=3D"Microsoft Word 15 (filtered =
medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:=E6=B8=B8=E3=82=B4=E3=82=B7=E3=83=83=E3=82=AF;
	panose-1:2 11 4 0 0 0 0 0 0 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:"\@=E6=B8=B8=E3=82=B4=E3=82=B7=E3=83=83=E3=82=AF";
	panose-1:2 11 4 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
span.19
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:99.25pt 3.0cm 3.0cm 3.0cm;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-GB =
link=3D"#0563C1" vlink=3D"#954F72" style=3D'word-wrap:break-word'><div =
class=3DWordSection1><p =
class=3DMsoNormal>&lt;&lt;&lt;<o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Courier =
New"'>A type name can name a local entity that might seem to =
be<br>subject to the new constraint.&nbsp; However, I do not think =
that<br>a derived type is &quot;of a type&quot; (it is a type), and =
therefore,<br>is not subject to the constraint.&nbsp; I find that to be =
a slender<br>reed.&nbsp;<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'>&gt;&gt;&gt;<o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>A derived =
type name does not itself have a type, any more than the name of a =
module (that might contain type definitions that contain data =
components) has a type. In my opinion this is not a weak or slender =
reed.<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>&gt;<span =
style=3D'font-size:10.0pt;font-family:"Courier New"'> A named local or =
construct data entity</span><o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>Apart from =
having ambiguous grammar, there is also no such thing as a =
=E2=80=9Cconstruct data entity=E2=80=9D.<o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>&gt;<span =
style=3D'font-size:10.0pt;font-family:"Courier New"'> be of a {declared} =
type<o:p></o:p></span></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>We never say =E2=80=9Cof a declared type=E2=80=9D, as =
the =E2=80=9Cdeclared=E2=80=9D part goes with the entity, not with the =
type.<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>Making such changes to the edit would change my vote =
to =E2=80=9CN=E2=80=9D.<o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>&lt;&lt;&lt;<o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal><span style=3D'font-size:10.0pt;font-family:"Courier =
New"'>Specifically, it might be read as banning<br>type names that name =
derived types that include default<br>initializations of pointer =
components to targets.</span><o:p></o:p></p><p =
class=3DMsoNormal>&gt;&gt;&gt;<o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>I disagree, =
but in any case, how exactly do you envisage such a type name being used =
unproblematically within a pure procedure (and without creating any =
local entity or construct entity of such a type)?<o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>Cheers,<o:p></o:p></p><div><p class=3DMsoNormal =
style=3D'text-align:justify'><span lang=3DEN-US =
style=3D'font-size:10.5pt'>-- </span><span =
style=3D'font-size:10.5pt'><o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-align:justify'><span lang=3DEN-US =
style=3D'font-size:10.5pt'>..............Malcolm Cohen, NAG =
Oxford/Tokyo.</span><span =
style=3D'font-size:10.5pt'><o:p></o:p></span></p></div></div></body></htm=
l>
------=_NextPart_000_0227_01D86462.8E901710--

