[comp.lang.fortran] X3J3 August meeting

bobal@microsoft.UUCP (Bob Allison) (08/18/88)

So anyway, we spent the whole week looking at language proposals.  No
work on public review letters (we're so shaken up we don't know how
to reply yet).  We may end up sending out a form letter saying how
the public review made such a difference that we've re-designed the
language, describe the language, then invite more commentary on the
second public review.  

By Friday there were (in my opinion) three proposals left.  Plan A
removed module procedures, free form source, overloaded procedures
(maybe not, there were some new ideas, and intrinsic operators were
still allowed), parameterized structures, simplified how arrays can
be passed and whether an interface is required, internal procedures,
user-defined operators, RANGE, IDENTIFY, allocatable dummy arguments
and function results, elemental user functions, simplified the selectable
precision stuff some, and maybe some other minor stuff.

Plan B removed everything Plan A did as well as overloading of any
kind, optional arguments, keyword arguments (everything which requires
an explicit interface, actually), changed the component selector to
a "." from a "%" (since there weren't any user-defined operators),
user-defined operators, obsolescence, and removed generalized precision 
entirely and added two new REAL types (one with at least 14 digits 
of precision, the other the maximum the machine can provide) and 
defined REAL to provide 6 digits.

Both Plan A and Plan B added MIL-STD bit intrinsics, DO WHILE, INCLUDE,
and an AUTOMATIC statement (opposite of the SAVE statement).  Both
are willing to discuss a pointer type if one can be proposed which is
safe, efficient, and won't slow the standard down.  Both tend to think
that NCHARACTER should be in a collateral standard from Fortran 8X.

Plan C was sufficiently different from the other two to be hard to 
compare.  Compared to the draft, it removes user-defined operators,
RANGE, IDENTIFY, allocatable dummy arguments and
function results, deprecation, internal procedures, simplified generalized
precision, overloading intrinsic operators, keyword and optional 
arguments, MODULE/USE entirely, obsolescence, and changed derived types to
DEC structures.  Plan C added a bit string type, and NCHARACTER (Kanji)
type, DO WHILE, the AUTOMATIC statement, INCLUDE, short integers,
vector-valued array subscripts, added some array intrinsics back from
the removed extensions appendix, and added a varying length character type.


All were fairly popular, although none was favored by much more than half the
committee (the best members-only vote was only 19-12-3, the worst 13-17-4).
I have deliberately avoided associating names and votes with the plans 
because it might tend to bias the discussion.  Also, all three plans 
will probably be modified somewhat before the November meeting 
(in Boston) and could be somewhat different by then.  

Bob Allison