I suggest that Fortran add a format string that is equivalent to list-directed I/O. Sometimes I pass a format string, often an optional argument, to a subroutine to use in write statements within it. It would be convenient if there were a format string corresponding to list-directed output or input, so that the following two lines were equivalent:
write (*,"*") a,b write (*,*) a,b
Currently I need to write
if (fmt == "*") then write (*,*) a,b else write (*,fmt) a,b end if
which is more verbose than just a line
write (*,fmt) a,b
which handles the case of fmt="*". In a program, sometimes the format string is wrong, because it does not match the types of the variables written, or inappropriate, because it does not fit the magnitudes of the data written (for example f5.2 for a float such as 100000.00). Being able to replace the format string, which may read from an input file, with * to get list-directed output would ease debugging.