(j3.2006) Partial write in record with nonadvancing I/O

Malcolm Cohen malcolm
Wed Feb 29 19:36:41 EST 2012

I wrote:
> Asserting that it is ambiguous does not make it so - show the ambiguity.

Van replied:
>An indication of where the standard (plus interps if necessary)
>specifies which of the three observed outputs is correct would be

Ah, so we have moved on from "ambiguous" to a claim of "not specified".  That is 
a horse of an entirely different colour.

Anyway, the standard says where the left tab limit is, where the file position 
is, and what the effect of the various edit descriptors is.  I see no particular 

I should perhaps remind people that "interpretation request" is not there for 
the committee to do your homework.  It is there to report *DEFECTS* in the 
standard - indeed the ISO terminology is "Defect Report".

Going back to the left tab limit, the file position, and the effect of the edit 
descriptors: I am frankly astonished that there is any difficulty in processing 
these concepts and in tracing the effect on the program.  It is *INCREDIBLY 
TEDIOUS*.  But I see no actual difficulty.

People who have difficulty and want some step explaining should at least attempt 
to reason out from those three concepts I just named and apply them to their 
example programs.  I would hazard a guess that those having difficulty would 
find their problems resolved.

Rafik Zurob wrote:
>I've been following this discussion closely and would like to add my voice
>to that of the ones saying that this section of the standard is not very
>clear.  (Maybe it's not ambiguous, but it's not very clear.)

Improving exposition is a topic for the next revision, not for a defect report.

I certainly agree that our exposition can be improved here, but... wording 
changes are not a risk-free endeavour.  We can do editorial changes with high 
reliability (though not quite 100%) but going beyond editorial certainly risks 
breaking things.

>I'm also interested in the expected output with stream access.

Since we are talking about formatted streams here, it is the same as sequential:
  "For a formatted stream output statement, if no error condition occurred, the 
terminal point of the file is set to the next position after the 
highest-numbered position to which data was transferred by the statement."
Contrary to claims, it is not actually difficult to find this info... but it 
certainly is tedious!  And it sounds like IBM has a bug to fix...

BTW, those wanting this to be simple and easy to understand should remember that 
we are talking about i/o here, and with a very general model that applies to all 
kinds of i/o systems (not just the trivial Unix byte stream model).  Simplicity 
is not on the menu.

................................Malcolm Cohen, Nihon NAG, Tokyo. 

More information about the J3 mailing list