Re: F2008 draft





Joe Krahn wrote:
It looks like the draft of F2008 is available at J3:
http://j3-fortran.org/doc/year/06 files 06-007.*

Does anyone here have an idea when the public comment period will be? Are non-member comments accepted before then?

There's also a schedule available on the same site. The
current DRAFT is a FIRST DRAFT. The schedule calls for the
final draft to go out for review around August of 2007.

Comments are always welcome (although not everyone who reads
c.l.f agrees). However, ISO and WG5 do impose some
structure on what can be done when. Roughly speaking:
1) gather requirements, 2) cut the requirements list down to
something reasonable, 3) put that stuff into the standard,
4) integrate and polish, 5) review process.

Right now, we're sort of between 3 and 4.

Comments like "feature X is broken because ..." are always welcome.

Comments like "feature Y should be enhanced" are still sort
of welcome, but you'd need to make a pretty good case for
any significant enhancement.

Comments like "hey, you forgot big feature Z..." have little
chance of being acted on.

The difference between "broke", "enhance", and "forgot" is
a judgment call :(.

At least, that's my personal opinion of the current status.


One thing I see is a new block construct that includes a specification section: BLOCK ... END BLOCK. I wonder why not just allow a specification section in the current block constructs?

I'm not sure. Probably because there is a reasonably
compelling reason for having a separate BLOCK...ENDBLOCK
structure and if J3 only added declarations in the current
block structures then someone would complain^H^H^H^H^Hment
that IF (.TRUE.) THEN
REAL X
...
ENDIF
looked sort of odd ;). More seriously, the current block
constructs have different rules for what interior blocks get
processed (first fit, best fit, only fit, all of them) and
probably nobody wanted to figure out what it meant to have
declarations inside of the constructs or even worse inside
the interior blocks. It's not that it can't be done
wisely, but probably a guess that it was more trouble than
it was worth. Again, just my guess.

*** Hendrickson

Even so, I have been thinking that some form of "DO ONCE" construct, with EXIT statements would be nice, to handle one type of construct that often still seems a good place for GOTOs.

For example, this:
------------------------------
BLOCK
...
IF (error) EXIT BLOCK
...
IF (error) EXIT BLOCK
...
IF (error) EXIT BLOCK
...
RETURN
END BLOCK

... error handling ...
RETURN
------------------------------

Instead of:
------------------------------
...
IF (error) GOTO 999
...
IF (error) GOTO 999
...
IF (error) GOTO 999
...
RETURN

999 CONTINUE
... error handling ...
RETURN
------------------------------

For now, you can use: DO ... EXIT; END DO

.


Quantcast