|
From: Tom E. <tep...@ll...> - 2007-10-19 18:46:22
|
Craig Rasmussen wrote: > > On Oct 19, 2007, at 11:51 AM, Tom Epperly wrote: > >> A new F2003 binding will start using F2003 capabilities. When will >> retire the F77 and F90 bindings when people stop using those languages. >> > > Unlike C and C++, there is one language Fortran and as far as I know, > all of the major vendors have only one compiler. What people mean > when they say F77 is implicit interfaces with fixed format input. > Usually, F90 is used to imply explicit interfaces with free format > input. One can choose to program in any of these styles (including > mixing implicit and explicit interfaces with either fixed or free > form) using any modern compiler. We have had this argument before. When a new Fortran standard comes into existence, the old Fortran standards do not cease to exist. There are still people writing code to the old standards, and there are still compilers in use that only process source written the old standards. For example, the g77 compiler can still be compiled and installed on many platforms. Older versions of gfortran (that don't support F2003) will remain installed on machines for years to come, and people will use it. I just got a new Linux desktop machine, and it's running Red Hat Enterprise Linux WS release 4 (Nahant Update 5). CASC is just now rolling out RHEL WS4. Most people in CASC are still running RHEL WS3. The C & C++ compilers are both gcc 3.4.6 (20060404), and the Fortran compiler that comes preinstalled is g77 version 3.4.6 (not gfortran). Because people still code to old standards and still use tools that only support old standards, we cannot stop supporting F77 and F90 (as it exists yesterday and today). > > As I understood from Matt, the discussion was whether the Chasm hacks > (which seem to work well) could be dropped in favor language standards > supported by the compiler vendors. I'm not certain, but I'm pretty > sure that the C interoperability standard with work quite well for > Babel users. I believe the following is correct: > > 1. Support for implicit interfaces (i.e., F77 bindings) would remain > the same. This should work with any compiler and compiler version. > > 2. Support for explicit interfaces (i.e,. F90 bindings) "could" be > switched to C interop with no impact on users, thus retiring Chasm. When we talked about a year or more ago, I thought we came to the conclusion that we couldn't use solely the C interop standard because it still didn't provide enough access to the details of the array descriptors. Babel needs the ability to make/read Fortran pointers to arrays with arbitrarily strided data. Does the standard allow me to do that? The way I would say this is that people could start choosing Babel's F2003 binding instead of F90 binding. > > The primary reason I joined the Fortran standards committee was to get > Chasm capabilities into the language. I've nearly succeeded but time > will tell. > > Cheers, > Craig > |