From owner-sc22wg5+sc22wg5-dom8=www.open-std.org@open-std.org Fri Jul 8 03:37:39 2016 Return-Path: X-Original-To: sc22wg5-dom8 Delivered-To: sc22wg5-dom8@www.open-std.org Received: by www.open-std.org (Postfix, from userid 521) id 6032D358700; Fri, 8 Jul 2016 03:37:39 +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 3E95C356E44 for ; Fri, 8 Jul 2016 03:37:28 +0200 (CEST) Received: (qmail 83941 invoked from network); 8 Jul 2016 10:37:25 +0900 Received: from unknown (HELO Maru10) (218.42.159.105) by 0 with SMTP; 8 Jul 2016 10:37:25 +0900 Message-ID: <9C727EB839E048D2B179B72FBDC1DA04@Maru10> From: "Cohen Malcolm" To: "WG5" References: <20160619135920.D0F3F358287@www.open-std.org><20160629112043.BF09F3587AF@www.open-std.org><20160629123517.185A635828D@www.open-std.org><20160629190123.72A8035859B@www.open-std.org><20160702105054.18596358745@www.open-std.org><20160702202059.B9618358745@www.open-std.org><20160703085848.B63663584A2@www.open-std.org><20160705153207.E49A9358343@www.open-std.org><20160705173722.4977735852E@www.open-std.org><20160706152553.105A89DB160@www.open-std.org><20160706164712.D056F9DB160@www.open-std.org><1467851790.3820.152.camel@vanlap.vsnyder> <20160707184955.C1409358287@www.open-std.org> In-Reply-To: <20160707184955.C1409358287@www.open-std.org> Subject: Re: [ukfortran] (SC22WG5.5758) RE: (j3.2006) RE: Units of measure Date: Fri, 8 Jul 2016 10:37:27 +0900 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="ISO-8859-1"; reply-type=original Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal Importance: Normal X-Mailer: Microsoft Windows Live Mail 16.4.3528.331 X-MimeOLE: Produced By Microsoft MimeOLE V16.4.3528.331 Sender: owner-sc22wg5@open-std.org Precedence: bulk This kind of annotation is very domain-specific. Moreover, it strikes me as exactly the kind of thing that is suited to directives (if there is no code generation why should it be in the language). And such directives are exactly the thing for software tools to handle via checking (for the compile time requirements) and source-to-source transformation if there does need to be runtime execution involved. Doing it via software tools has the significant advantages of (a) no impact on vendor implementations, (b) works even for compilers whose vendors have not provided it, (c) only takes a year or two to obtain, instead of more than 10 years via the standard (or even more than that, seeing as how here we are in 2016 but few compilers yet implement all of the standard we started working on in 1998 and published in 2004!). There are software companies which provide software tools for Fortran. NAG is such a company. As I mentioned before, I am sure that NAG would be prepared to design the directives and implement tools for units handling, and almost certainly for less than 1% of $300M. So far, neither I nor anyone else at NAG has received even a hint of interest in such a thing. <<< If your organization had lost $300 million due to a trivial software mistake that the programming language and its runtime could have caught or corrected automatically, would you roll over and play dead? >>> No, I would build, or contract to be built, a tool for checking code that is annotated with units information, for the reasons given above. Cheers, -- ........................Malcolm Cohen, Nihon NAG, Tokyo.