From owner-sc22wg5+sc22wg5-dom8=www.open-std.org@open-std.org  Mon Dec  8 11:01:34 2014
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 6AE51358796; Mon,  8 Dec 2014 11:01:34 +0100 (CET)
Delivered-To: sc22wg5@open-std.org
Received: from ppsw-52.csi.cam.ac.uk (ppsw-52.csi.cam.ac.uk [131.111.8.152])
	by www.open-std.org (Postfix) with ESMTP id 12E55357324
	for <sc22wg5@open-std.org>; Mon,  8 Dec 2014 11:01:30 +0100 (CET)
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from hermes-1.csi.cam.ac.uk ([131.111.8.51]:40585)
	by ppsw-52.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.159]:25)
	with esmtpa (EXTERNAL:nmm1) id 1Xxv8D-00043D-Df (Exim 4.82_3-c0e5623)
	(return-path <nmm1@hermes.cam.ac.uk>); Mon, 08 Dec 2014 10:01:29 +0000
Received: from prayer by hermes-1.csi.cam.ac.uk (hermes.cam.ac.uk)
	with local (PRAYER:nmm1) id 1Xxv8D-0007kr-6C (Exim 4.72)
	(return-path <nmm1@hermes.cam.ac.uk>); Mon, 08 Dec 2014 10:01:29 +0000
Received: from [80.189.200.45] by old-webmail.hermes.cam.ac.uk
	with HTTP (Prayer-1.3.5); 08 Dec 2014 10:01:29 +0000
Date: 08 Dec 2014 10:01:29 +0000
From: "N.M. Maclaren" <nmm1@cam.ac.uk>
To: Malcolm Cohen <malcolm@nag-j.co.jp>
Cc: WG5 List <sc22wg5@open-std.org>
Subject: Re: [ukfortran] (SC22WG5.5388)  (j3.2006) Straw vote on draft DTS
Message-ID: <Prayer.1.3.5.1412081001290.22563@hermes-1.csi.cam.ac.uk>
In-Reply-To: <20141208004541.EF1593586E3@www.open-std.org>
References: <20141108182113.6EC5E3581CE@www.open-std.org>
 <20141207195158.20EE0358488@www.open-std.org>
 <20141208004541.EF1593586E3@www.open-std.org>
X-Mailer: Prayer v1.3.5
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset=ISO-8859-1
Sender: owner-sc22wg5@open-std.org
Precedence: bulk

On Dec 8 2014, Malcolm Cohen wrote:

> Bill Long writes: <<< it is equivalent to implementing the infrastructure 
> to handle an exception handling mechanism. [...] Given that exception 
> handlers already exist in other languages, and certainly at the system 
> level, the argument that implementors do not know how to do this seems 
> weak at best. I understand grumbling about hard work, not claims of 
> inability.
>>>>
>
> And the claims of inability (from me at least) are to do with 
> implementing it *efficiently* without impacting programs that do not use 
> the feature. The fact that the huge clanking machinery of C++ exceptions 
> exists, and slows down C++ programs, is not a counterexample!

I was not intending to continue, but realise I omitted this.  Sorry.

Much, much more importantly, it doesn't even deal with the same problem.
Despite the original intent, it supports only explicitly-thrown exceptions
and the specification is that all actions before the throw are completed 
in toto and none of those after it and before the catch are even started.
And the reason it got downgraded is precisely because specifying how it
could handle general failures was too much for WG21.

Image failure is more general in that it has to handle operations that
fail horribly part-way through, both because of the less serial nature
of Fortran and because of the nature of coarray failure.  I have a draft
specification I wrote for WG14 on how it could be specified for signal
handling, based on my experiences with using and implementing run-time
systems' error recovery.  Please ask for a copy but, be warned, it is
not simple, not pretty and would need a lot of work to extend it to
Fortran.


Regards,
Nick Maclaren.



