CVS difference for ai12s/ai12-0189-1.txt
--- ai12s/ai12-0189-1.txt 2016/10/05 22:50:02 1.3
+++ ai12s/ai12-0189-1.txt 2016/10/06 04:09:17 1.4
@@ -1249,3 +1249,43 @@
ease-of-use feature, I would prefer to be conservative.)
****************************************************************
+
+From: Tucker Taft
+Sent: Wednesday, October 5, 2016 8:26 PM
+
+I'm not convinced yet. Should be a robust discussion.
+
+****************************************************************
+
+From: Randy Brukardt
+Sent: Wednesday, October 5, 2016 9:14 PM
+
+The critical point for me is that this tempting syntax should not be able to
+easily break existing subprograms for which it can be used. We cannot assume
+that a relatively unusual technique for "last wishes" has been used, and we
+cannot assume that any "last wishes" aren't critical. (I think that this
+suggestion also makes newly written code more fragile than it ought to be --
+ideally, anything the user writes would work appropriately. But that's a
+secondary concern.)
+
+I can think of a number of ways to preserve this principle, but your proposal
+isn't one of them.
+
+* Ban transfer of control -- has the advantage of being easy.
+
+* Require use of an normal language-defined (anonymous??) exception to
+ implement transfer-of-control. Any iterator that doesn't properly clean up
+ when an exception is raised by the user-defined code is already broken (so
+ we don't care). Similarly, any iterator that eats an exception is dubious --
+ moreover, it would actually do the right thing for an exit (terminate the
+ loop and do nothing else) -- so it would only break for unusual cases. (I'm
+ not sure that this technique would sensibly work for a function return,
+ though, because I don't know where the value would go.)
+
+I had a third idea, which I've now forgotten. Anyway, my point is that we can
+still have transfer of control if we really think it is important (that's
+surely a discussion point), but I'm not in favor of adding a nice-to-have
+attractive hazard to the language. (And I DO like this feature, in the
+abstract.)
+
+****************************************************************
Questions? Ask the ACAA Technical Agent