From owner-sc22wg5+sc22wg5-dom8=www.open-std.org@open-std.org  Wed Sep 27 00:03:37 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 DD0B23587DC; Wed, 27 Sep 2017 00:03:36 +0200 (CEST)
Delivered-To: sc22wg5@open-std.org
Received: from mail-pf0-f170.google.com (mail-pf0-f170.google.com [209.85.192.170])
	(using TLSv1 with cipher AES128-SHA (128/128 bits))
	(No client certificate requested)
	by www.open-std.org (Postfix) with ESMTP id 001C5356D2C
	for <sc22wg5@open-std.org>; Wed, 27 Sep 2017 00:03:35 +0200 (CEST)
Received: by mail-pf0-f170.google.com with SMTP id n24so6205674pfk.5
        for <sc22wg5@open-std.org>; Tue, 26 Sep 2017 15:03:35 -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=JkPBPFUisdFNmTFW7igTikvih2kH91hkSU644z1/ZEE=;
        b=We8QmvtD+Iyi9PAOUgj/SQUKyqUDPCVWb3mBHvx0w1ylp8UP6s/hfHhBrCLhiC2Bak
         ukN/K8cPaE5w+G29eknmwF+qxlYHqdwCQFYNyELR7PoRUC9lqvLLFJNoi/qalPWBA2GF
         r+Qyza2fHRk+saSwFs0K0N54gyOkW9nOEJJ4vNdRXQ3Wm13YlA0CtEOLB/Ukt1dgutMv
         P/oC2JSdZBfDqn5qcfT0IkvgR6PtSOACbKAaSPvmxQ0fSiY9yZEyFZltMFSAR6CfmCXJ
         xwk9gZuEdng8914tM4RjzMpK4WZE6ZsupKeeGmzJ4nad5Eoq1S5kNXR9cL/kqD1Bb0O+
         1DYg==
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=JkPBPFUisdFNmTFW7igTikvih2kH91hkSU644z1/ZEE=;
        b=YW9TCPq9JhQbpkAAhKJiZnAiOn2ySGG7juI3AReY91IcOxsoy/yoNe8r/BkDQFaLju
         2sBVeLj4pR7fWRD63Qmk5Ch3FrIIf/LjA2a1tk8L5a1Ie192FPh95eiSmyJw0zY6+FjR
         ZM4PvbD11r0q6UCiI/6vMLbHyRomHaYDEOQmyMHz367aGWP9HV6DzbpY1xKa1GlMGfZ/
         0d1LiSMZ+3OtdU/0oXrIg5UBVd450zrt8RQH/Hf3X7mwkqzPwG29QQCkf+/n1ZmAvZR/
         2VcF9UwXOEBosBSGdWCRX6wgqXnXiod7iQhuMmycA+TIOJdKZj400UtRf2zu85MP2lmW
         BCMg==
X-Gm-Message-State: AHPjjUho82K+Gv9rjAIlb0a772qQgSNXWKXQE6Xbt4QUBqJAkzGWGqb3
	ifsdvXO4Ld9TviChUuxA7+pbZw==
X-Google-Smtp-Source: AOwi7QC63yotQfJJbf4ahvADJfKq4SZimH5INGCCCi/HR2puHycAybcO5ACv48YsJOSEQiqLlJHcAA==
X-Received: by 10.99.121.141 with SMTP id u135mr11944157pgc.86.1506463414455;
        Tue, 26 Sep 2017 15:03:34 -0700 (PDT)
Received: from localhost.mail ([50.233.164.226])
        by smtp.gmail.com with ESMTPSA id a29sm16900781pfj.88.2017.09.26.15.03.33
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Tue, 26 Sep 2017 15:03:33 -0700 (PDT)
Date: Tue, 26 Sep 2017 15:03:32 -0700
From: Damian Rouson <damian@sourceryinstitute.org>
To: Bill Long <longb@cray.com>, fortran standards email list for J3
 <j3@mailman.j3-fortran.org>
Cc: WG5 <sc22wg5@open-std.org>
Message-ID: <etPan.59caceb4.6c145680.b1c@sourceryinstitute.org>
In-Reply-To: <CEE449A3-AC61-4C6D-8DEF-65CE14821863@cray.com>
References: <20170926174021.A8F283587DC@www.open-std.org>
 <20170926212625.B452F3587DC@www.open-std.org>
 <20170926214203.B5FA33587DC@www.open-std.org>
 <CEE449A3-AC61-4C6D-8DEF-65CE14821863@cray.com>
Subject: Re: (j3.2006) (SC22WG5.5959) generic programming in F2020
X-Mailer: Airmail (442)
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="59caceb4_3b935f2b_b1c"
Sender: owner-sc22wg5@open-std.org
Precedence: bulk

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


On September 26, 2017 at 2:49:18 PM, Bill Long (longb=40cray.com) wrote:


> Does =E2=80=9Cdefined=E2=80=9D include cases in which only an interface=
 body is provided in the MODULE such as below=3F =20

No. An interface only is inadequate. A key feature of templates is that t=
he compiler has to be able to find them at compile time. Something define=
d in a submodule is not findable until link time. An interface only decla=
res a procedure. The actual procedure definition has to be in the module =
for this to work. =20


I really like this proposal except for the above restriction. =C2=A0A lar=
ge project that benefits from the additional modularization and reduced c=
ompilation times that can be associated with submodules would lose those =
benefits for any generic procedures. =C2=A0I suppose it=E2=80=99s not inc=
redibly burdensome in the use case that most interests us on the OpenCoar=
rays project, but I=E2=80=99d imagine a lot of users who have started dow=
n the path of using submodules on large projects might balk at being forc=
ed to eliminate them for any generic procedures.

Damian
--59caceb4_3b935f2b_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><p class=3D=22=
airmail=5Fon=22>On September 26, 2017 at 2:49:18 PM, Bill Long (<a href=3D=
=22mailto:longb=40cray.com=22>longb=40cray.com</a>) wrote:</p> <blockquot=
e type=3D=22cite=22 class=3D=22clean=5Fbq=22><span><div><div></div><div><=
br>&gt; Does =E2=80=9Cdefined=E2=80=9D include cases in which only an int=
erface body is provided in the MODULE such as below=3F  =20
<br>
<br>No. An interface only is inadequate.  A key feature of templates is t=
hat the compiler has to be able to find them at compile time.  Something =
defined in a submodule is not findable until link time.   An interface on=
ly declares a procedure.   The actual procedure definition has to be in t=
he module for this to work.
<br><br></div></div></span></blockquote><br><div>I really like this propo=
sal except for the above restriction. &nbsp;A large project that benefits=
 from the additional modularization and reduced compilation times that ca=
n be associated with submodules would lose those benefits for any generic=
 procedures. &nbsp;I suppose it=E2=80=99s not incredibly burdensome in th=
e use case that most interests us on the OpenCoarrays project, but I=E2=80=
=99d imagine a lot of users who have started down the path of using submo=
dules on large projects might balk at being forced to eliminate them for =
any generic procedures.</div><div><br></div><div>Damian</div></body></htm=
l>
--59caceb4_3b935f2b_b1c--

