From owner-sc22wg5+sc22wg5-dom8=www.open-std.org@open-std.org  Wed Sep 27 01:21:06 2017
Return-Path: <owner-sc22wg5+sc22wg5-dom8=www.open-std.org@open-std.org>
X-Original-To: sc22wg5-dom8
Delivered-To: sc22wg5-dom8@www.open-std.org
Received: by www.open-std.org (Postfix, from userid 521)
	id 189623587DC; Wed, 27 Sep 2017 01:21:05 +0200 (CEST)
Delivered-To: sc22wg5@open-std.org
Received: from mail-pg0-f47.google.com (mail-pg0-f47.google.com [74.125.83.47])
	(using TLSv1 with cipher AES128-SHA (128/128 bits))
	(No client certificate requested)
	by www.open-std.org (Postfix) with ESMTP id 5E828356D2C
	for <sc22wg5@open-std.org>; Wed, 27 Sep 2017 01:21:01 +0200 (CEST)
Received: by mail-pg0-f47.google.com with SMTP id j16so6742908pga.1
        for <sc22wg5@open-std.org>; Tue, 26 Sep 2017 16:21:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=sourceryinstitute.org; s=google;
        h=date:from:to:cc:message-id:in-reply-to:references:subject
         :mime-version;
        bh=5LPH5u2n75vQij6Gq3qj7kyl+qcpzY6zfkRlnsOpDkE=;
        b=Kw/GToV4uigqzSJS4gdDM4sY96U4UhfqCCnmq0+tmVzjcPTgd3vm2PFlLCqvfhXNP1
         5K8N15L7DcCICAAPGYQnFh2/ubAeVUCHT6zRQXPcsDO41OudRhYbe3eAHRmf8pAY1fkn
         b65y1KhPs/3b3oqjzoTY+PWNDJiYgnHLwYbq0FUU2xNZv/OTXOQ7e240rfxEUnWePd0t
         qnduaxp8bnST47C14G7IlXENEaAw6x9KtjyGjg36FZxoDpCdCyKfEFchEG52s5kleO2a
         2Zn9W0lb9h69pDlhjyO3Fn6QeQbTIW93F/gTBnpCrGQJ2b8B5K0t8KJQ247y14wU73Ly
         zPEw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:cc:message-id:in-reply-to
         :references:subject:mime-version;
        bh=5LPH5u2n75vQij6Gq3qj7kyl+qcpzY6zfkRlnsOpDkE=;
        b=oqMI9U+EZV7PuQuF1X7HejQ9Hr3M/9TQJFDZETUpqe+b3QF2UNxRU6Eraowq57CSst
         YYUzaqERLPK5zKJW+IuxJb13LLejg+FBBD33x16Jm/GlbsgVGrS9Xlfu2UtEts9JnywQ
         pJE3Pgu1JgHWr1GezxpZL6Si5s80HJRntEulaR3NslQlcC3rt35yKxtggk1uucw42rYu
         DrJmMS/EpoVhybyaOkbV+QR67NVlTWKhEAt7bMBK5Yh6/VGMf6fInsswo0QE4z9jjLYk
         wIi1r3TV0PTAKQwI73vIpHLZu+wahkYPK+W7+5a+2IuB/t/BYBBKWYl1r6L3ZiYXWry5
         hX4A==
X-Gm-Message-State: AHPjjUhUbkAM1MW+1/bfOOHbgnDV3tnOsSakwfxg9J5kSwtzVv3Iqrc1
	RoA+0iM1g4P/vHqgoqUFMgChcw==
X-Google-Smtp-Source: AOwi7QBLlqicYIb31pTIISxDneXcc6dFzKhyRlIhl1l0S1Uo2mQvg6iiFVLRcqSh3529CloOyCo5vw==
X-Received: by 10.99.150.25 with SMTP id c25mr3561781pge.241.1506468060025;
        Tue, 26 Sep 2017 16:21:00 -0700 (PDT)
Received: from localhost.mail ([50.233.164.226])
        by smtp.gmail.com with ESMTPSA id e7sm16855806pfi.188.2017.09.26.16.20.58
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Tue, 26 Sep 2017 16:20:58 -0700 (PDT)
Date: Tue, 26 Sep 2017 16:20:57 -0700
From: Damian Rouson <damian@sourceryinstitute.org>
To: Bill Long <longb@cray.com>, fortran standards email list for J3
 <j3@mailman.j3-fortran.org>, Van Snyder <van.snyder@jpl.nasa.gov>
Cc: WG5 <sc22wg5@open-std.org>
Message-ID: <etPan.59cae0d9.5bda2723.b1c@sourceryinstitute.org>
In-Reply-To: <B51EC504-E74C-4F4E-9140-B800DB72033C@cray.com>
References: <20170926174021.A8F283587DC@www.open-std.org>
 <08474B91-8ACB-43E9-8568-8804C9FE3C44@cray.com>
 <20170926223420.27B2E3587DE@www.open-std.org>
 <B51EC504-E74C-4F4E-9140-B800DB72033C@cray.com>
Subject: Re: (j3.2006) (SC22WG5.5962) generic programming in F2020
X-Mailer: Airmail (442)
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="59cae0d9_6b5811b0_b1c"
Sender: owner-sc22wg5@open-std.org
Precedence: bulk

--59cae0d9_6b5811b0_b1c
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline



On September 26, 2017 at 3:44:45 PM, Bill Long (longb=40cray.com) wrote:


> On Sep 26, 2017, at 5:34 PM, Van Snyder <Van.Snyder=40jpl.nasa.gov> wro=
te: =20

> =20
> I have concluded they're too simplistic to be worth the effort. =20

It depends on what problem you are trying to solve. If the problem is =E2=
=80=9Cwe don=E2=80=99t have parameterized modules=E2=80=9D, then I agree =
templates do not solve that problem. If it is =E2=80=9CI don=E2=80=99t wh=
at to write multiple versions of the same code with different argument ty=
pe/kind combinations=E2=80=9D then it does solve that problem. =20


It certainly seems to solve the case of most interest in OpenCoarrays. =C2=
=A0We provide a module containing some parallel =46ortran 2015 features f=
or users of compilers that don=E2=80=99t yet support the features. =C2=A0=
The module has generic interfaces such as

interface co=5Fmin
=C2=A0 module procedure co=5Fmin=5Fc=5Fint, co=5Fmin=5Fc=5Fdouble
end interface

where the two specific procedures have identical definitions except for t=
he first argument=E2=80=99s type. =C2=A0In case it=E2=80=99s of interest,=
 the definitions are here:

https://github.com/sourceryinstitute/OpenCoarrays/blob/master/src/extensi=
ons/opencoarrays.=4690=23L628

Damian





--59cae0d9_6b5811b0_b1c
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

<html><head><style>body=7Bfont-family:Helvetica,Arial;font-size:13px=7D</=
style></head><body style=3D=22word-wrap: break-word; -webkit-nbsp-mode: s=
pace; -webkit-line-break: after-white-space;=22><div id=3D=22bloop=5Fcust=
omfont=22 style=3D=22font-family:Helvetica,Arial;font-size:13px; color: r=
gba(0,0,0,1.0); margin: 0px; line-height: auto;=22><br></div> <br><p clas=
s=3D=22airmail=5Fon=22>On September 26, 2017 at 3:44:45 PM, Bill Long (<a=
 href=3D=22mailto:longb=40cray.com=22>longb=40cray.com</a>) wrote:</p> <b=
lockquote type=3D=22cite=22 class=3D=22clean=5Fbq=22><span><div><div></di=
v><div>
<br>&gt; On Sep 26, 2017, at 5:34 PM, Van Snyder &lt;Van.Snyder=40jpl.nas=
a.gov&gt; wrote:
<br>
<br>&gt; =20
<br>&gt; I have concluded they're too simplistic to be worth the effort.
<br>
<br>It depends on what problem you are trying to solve.  If the problem i=
s =E2=80=9Cwe don=E2=80=99t have parameterized modules=E2=80=9D, then I a=
gree templates do not solve that problem.  If it is =E2=80=9CI don=E2=80=99=
t what to write multiple versions of the same code with different argumen=
t type/kind combinations=E2=80=9D  then it does solve that problem. =20
<br><br></div></div></span></blockquote><br><div>It certainly seems to so=
lve the case of most interest in OpenCoarrays. &nbsp;We provide a module =
containing some parallel =46ortran 2015 features for users of compilers t=
hat don=E2=80=99t yet support the features. &nbsp;The module has generic =
interfaces such as</div><div><br></div><div>interface co=5Fmin</div><div>=
&nbsp; module procedure co=5Fmin=5Fc=5Fint, co=5Fmin=5Fc=5Fdouble</div><d=
iv>end interface</div><div><br></div><div>where the two specific procedur=
es have identical definitions except for the first argument=E2=80=99s typ=
e. &nbsp;In case it=E2=80=99s of interest, the definitions are here:</div=
><div><br></div><div><a href=3D=22https://github.com/sourceryinstitute/Op=
enCoarrays/blob/master/src/extensions/opencoarrays.=4690=23L628=22>https:=
//github.com/sourceryinstitute/OpenCoarrays/blob/master/src/extensions/op=
encoarrays.=4690=23L628</a></div><div><br></div><div>Damian</div><div><br=
></div><div><br></div><div><br></div><div><br></div><div></div><div></div=
></body></html>
--59cae0d9_6b5811b0_b1c--

