Clive Page writes:
> One thing to bear in mind is that Standard Fortran does not permit
> recursive I/O, so that if you have a function containing even an internal
> file READ or WRITE the function cannot itself be used in the I/O list of
> another READ or WRITE statement. This can be a significant restriction.
Yes. The current draft of f2k finally gets rid of this annoying
restriction. Some limited forms of recursive I/O, including internal
I/O, were important to the new derived-type I/O functionality; this
provided an excuse to allow recursive internal I/O in other contexts
as well (the compiler would already have had to solve the fundamental
issue in order to make the derived type stuff work).
Note that the f2k proposal does not allow recursive I/O in general.
You can't do I/O to an external file in a function used in an I/O
list. So the runtimes still won't need to handle cases that involve
multiple external files. But they will need to be able to handle
internal I/O "in the middle of" other I/O.
--
Richard Maine
[log in to unmask]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|