Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: P1788: Motion 44 NO votes



Guillaume

On 5 Jun 2013, at 14:10, Guillaume Melquiond wrote:
> The vocabulary had me really confused; with such an interpretation however, I am fine. (I wasn't really worried in the first place about what the spirit of the text was, but since it was a vote about actual standard text and there was no chance for it to fail at that time, I preferred to vote against.)
> 
> As you say, in a setting of partial functions, the question "does it return?" is meaningless. But then I would suggest to ban expressions such as "return something", "return no value", "succeed", "fail", as it leads to think the contrary. For future texts, I would suggest to systematically replace "succeeds" by "is defined", "returns something" by "is defined and has value something", and "fails" and "returns nothing" by "is not defined", at level 1. And then say at level 2 that functions outside their "definition domain" do something (be it a failure, or returning NaN or NaI, or a specified value).

This is just the sort of constructive "NO" voting the text needs, so I look forward to more of it.

As I wrote, I've already banned "succeed" and "fail" (in the above context) from Level 1. I agree that "return" should be avoided at Level 1 and aim to go through and re-word as you suggest.

However as a result of discussion I also avoid "is not defined" & "is undefined" because people said it could be interpreted as standardese for "is left undefined by this standard so the implementation may do what it likes". Instead I say "has no value"; I put something in the Definitions about this.

John Pryce