Notes for meeting at Hewlett Packard in Palo Alto on Wednesday 7/13/05 in the Von Neumann Room in Building 4. Peter Markstein hosted us. Dick Delp, Mike Cowlishaw, Jim Thomas, David Hough, & Dan Zuras attended. Eric Schwartz, Mark Erle, & Jeff Kidder were on the phone. We started with the draft review & finished around 2:20. We began with debug.txt (1-6). People generally seem to think its too vague to move into the body of the draft for now. Next: snan.htm (2-6). To make signalling NaNs (& now trapping NaNs) optional. There have been objections raised from the sNaN column. Some also object to the introduction of an optional trapping NaN for various reasons. Next: static-modes.htm (2-5). To apply modes (rounding, et al) statically. Mike objected on the grounds that an interpretive language can be purely dynamic in its scoping rules. This 'meta' problem can be used by sufficiently malicious programmers to conceal a change of modes that defeats any reasonable notion of 'static'. We ended up discussing that rather than a static mode what we really have in mind that the programmer should have the expressive power to say (a) I would like this operation/ expression/block to be evaluated in this precision/rounding/ exception mode, or (b) I would like it to be evaluated as if some mode change (external to me) would apply to this code, or (c) I don't care. Also this should be a requirement & therefore a SHALL. Making it a SHOULD would defeat the purpose. We also discussed just how 'paranoid' a compiler should be about the convention that function calls don't change some global mode. The reckless level would be to not know & not care. The truely paranoid level would be to save & restore all modes on the procedure call. Jim argued that an adequate level of paranoia was to not move code around function calls. While that seems practical is seems barely more than reckless to me. Next: resumable.htm (1-5). Resumable modes are abrupt underflow, presubstitution, & the scaled product functions (in lieu of counting mode). We spent some time discussing whether the definition of operations which take arrays as operands or used unusual arithmetic in the intermediates. There is an obvious ULP*(N/2) error bound on the result & we would like it to be unbiased but its not clear how to both specify & test that. Jeff was also concerned that the product of a great many numbers which can be arrived at exactly SHOULD be computed exactly. Next: nonresumable.htm (1-2). Nonresumable modes could be implemented by some sort of try/catch mechanism. Dave mentioned that he withdrew the user trap proposal as it is largely covered by the resumable trap proposal. We adjourned around 4:30.