(j3.2006) Materials for 199
Tobias Burnus
burnus
Mon Sep 24 16:15:40 EDT 2012
Van Snyder wrote:
> Absolutely. J3, J3-USTAG, and every interested national body, ought to
> begin discussing the work plan for the next revision. The more the
> proposals are discussed by e-mail, the less time will be wasted on
> nonstarters at Delft.
>
> Apparently, we might as well discuss the work plan at 199, since there
> are still no papers in the repository.
(I don't have a real comment regarding the generic-procedure proposal,
except that I would like to see some possibility to support it. Whether
it is done via macros, the current proposal or differently, I don't have
thought about. I also would like to see some kind of procedure which can
be defined at one place (e.g. a module) and then when invoked, it gets
expanded inline - possibly even with enforcing that it evaluates to a
constant.)
It's probably a rather small item, but something I would like to see: a
simple way to prevent host association - or to import only some specific
items, e.g.
noimport
import ! which is the default
import :: some, list, items
I think it was also suggested in the early draft Fortran appendix to TR
24772.Using the name IMPORT probably makes sense, but whether "NOIMPORT"
is the best name, I don't know. "IMPORT NONE" would be nice, but that
clashes with a symbol "NONE", unless the "::" are mandatory.
I sometimes missed ANDTHEN and ORELSE, but that seems to be a recurring
suggestions, where the exact ordering and details seem to be difficult.
(Cf. e.g. J3/04-410r1.)
What I also miss is something like
SELECT RANK(assumed_rank)
RANK IS (3):
...
to be able to use an assumed-rank array from Fortran - and not only from
Fortran. If it is contiguous and "c_loc" interoperable, one can use
c_f_fortran(c_loc(assumed_rank), ...) but otherwise one can only use
assumed-rank variables it from C; one should also be able to do it from
Fortran. (One could also consider to allow assumed-rank variables as
actual argument to an elemental procedure.)
As larger item - and thus probably out of scope for the Fortran next
revision, one could consider to follow the trend of C11 and C++11 and
allow some shared-memory parallelization. For instance something
inspired by Cilk. Alternatively, one could continue to leave that to
out-of-language methods like OpenMP, which seems to also gain atomic and
transactional memory support, following the suggestions for C++.
Tobias
More information about the J3
mailing list