CVS difference for ai12s/ai12-0189-1.txt

Differences between 1.3 and version 1.4
Log of other versions for file 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

Questions? Ask the ACAA Technical Agent