J3/02-311 Date: 28 Oct 2002 To: J3 From: Richard Maine Subject: Feature changes The following are proposed public comments relating to features to be included or omitted from f2k. 1. I propose that the enum feature be deleted. As currently constituted, it adds almost no functionality to the language. Except for the BIND(C) case, it is nothing but another syntax for functionality that we already have. The only new functionality of the feature is the kind determination of BIND(C), which doesn't appear to be much of an issue in practice since apparently most C compilers use C int for all enums. If a future revision ever does add a strongly typed enum feature, the overlap between that and the current one will contribute to the language seeming bloated and haphazard. I believe this potential negative impact to outweigh the small benefits of the current feature. Adding a strongly typed enum feature now is not reasonable in my opinion. It would have too many potential interactions with oher features and would consequently cause substantial delay in the standard. Deletion of this feature has little impact on the rest of the standard. The enum feature is currently nothing other than an alternate syntax for defining a type alias and a set of named constants; no other features depend on whether this or some other syntax for the same thing is used. 2. I propose that an intrinsic to execute a system command be added. The CD adds intrinsics to obtain information about the command used to execute the Fortran program. The ability to in turn execute some other program is the other side of the same coin, often asked about in almost the same breath. Almost all processors have such a facility. It begs for standardization. Yes, the interpretation of the command depends on the processor. Nonetheless, this is a very useful and widely used facility. It is also trivial to add to the standard, being just an additional intrinsic with no special interactions. This functionality is indirectly available via C interop, but I think it merits direct support, just like the intrinsics to obtain command-line information have direct support in the CD.