From: Rostyslaw J. Lewyckyj on 25 Oct 2006 00:29 Richard Maine wrote: > Rostyslaw J. Lewyckyj <urjlew(a)bellsouth.net> wrote: > > >>In many cases, systems, external names are more limited in length. > > > When using f77 and earlier long-name extensions, that was an issue I > recall seeing. F90 requires that the system allow names up to at least > 31 characters. If the system doesn't naturally allow them, the compiler > is supposed to compensate somehow. Yes, ways exist and compilers have > used them. For example, some compilers automatically generate short > names and have a translation table for the full names to the short ones. > > To my knowledge, there are no f90 compilers that fail to correctly > accomodate 31-character names as required by the standard. There have > been a few pretty flakey things briefly sold as f90 compilers. I suppose > some of those might not have gotten it right; they weren't around for > long enough for the matter to come up. Some of them didn't get a lot of > things right and had pretty brief lives as a result. > Whoa there! I was refering to the limitation of the surrounding machines' OS and other components. F90 may require 31 character namelength support within the Fortran components. But then the Fortran implementation will require translation contortions to work within the system. Suppose that the remainder of the OS components i.e.: Linkers, loaders, file system library support, support names of only length N < 31. Then the Fortran compiler has to be sure not to create names duplicating existing names, etc. & If the Fortran program wants to use some other non Fortran component, then there must be some way to refer to it without going through the translation process. etc. etc. In the extreme case, suppose N=2, which with 8bit chars allows up to ~32000 unique external names. With the F90 liberal rules some F90 Fortran program might exceed the system design constraints and become impossible to do. :) (I know it's an existance argue ment for illustrative purposes only)
From: Richard Maine on 25 Oct 2006 01:00 Rostyslaw J. Lewyckyj <urjlew(a)bellsouth.net> wrote: > F90 may require 31 character > namelength support within the Fortran components. But then the > Fortran implementation will require translation contortions > to work within the system. Yes. And my point was that Fortran implementations do, in fact do the necessary translation contortions. I wasn't bothering to go into all the details; they probably vary. The observed fact - not just a hypothesis - is that the implementations do do this. If you know of any exceptions, I'd be curious. They might exist. But I don't know of any. To the extent that the code is purely Fortran, the user never notices the issue. To the extent that you expect the Fortran code to be callable from other languages, then yes, you'll need to pay attention. But then, interlanguage calls generally require special attention. -- Richard Maine | Good judgement comes from experience; email: last name at domain . net | experience comes from bad judgement. domain: summertriangle | -- Mark Twain
From: Rostyslaw J. Lewyckyj on 25 Oct 2006 01:58 Richard Maine wrote: > Rostyslaw J. Lewyckyj <urjlew(a)bellsouth.net> wrote: > > >>F90 may require 31 character >>namelength support within the Fortran components. But then the >>Fortran implementation will require translation contortions >>to work within the system. > > > Yes. And my point was that Fortran implementations do, in fact do the > necessary translation contortions. I wasn't bothering to go into all the > details; they probably vary. The observed fact - not just a hypothesis - > is that the implementations do do this. If you know of any exceptions, > I'd be curious. They might exist. But I don't know of any. > > To the extent that the code is purely Fortran, the user never notices > the issue. To the extent that you expect the Fortran code to be callable > from other languages, then yes, you'll need to pay attention. But then, > interlanguage calls generally require special attention. > purely Fortran? But I'd consider that to be rather unrealistic in a production environment. Linkers, loaders, libraries etc. are a fact of life. Just as is the requirement to handle the full machine character set as character data, not just the Fortran character set. Also more likely is the requirement for an ability to call out (use) non Fortran especially system routines. In which case the external naming rules need to be adhered to.
From: Steve O'Hara-Smith on 25 Oct 2006 02:55 On Wed, 25 Oct 2006 15:24:22 +1300 Brian Boutel <brian(a)invalid.invalid> wrote: > However, the freedom to do something doesn't mean > that it is compulsory to do it all the time. Yes not even the three nations joke has an entry for "Everything which is permitted is required", just these (assigning nations is left as an exercise for the reader). a That which is not permitted is forbidden. b That which is not forbidden is permitted. c Everything is permitted whether forbidden or not. -- C:>WIN | Directable Mirror Arrays The computer obeys and wins. | A better way to focus the sun You lose and Bill collects. | licences available see | http://www.sohara.org/
From: Jean-Marc Bourguet on 25 Oct 2006 04:44
Steve O'Hara-Smith <steveo(a)eircom.net> writes: > On Wed, 25 Oct 2006 15:24:22 +1300 > Brian Boutel <brian(a)invalid.invalid> wrote: > >> However, the freedom to do something doesn't mean >> that it is compulsory to do it all the time. > > Yes not even the three nations joke has an entry for "Everything > which is permitted is required", just these (assigning nations is left as > an exercise for the reader). > > a That which is not permitted is forbidden. > > b That which is not forbidden is permitted. > > c Everything is permitted whether forbidden or not. You miss d That which is permitted is mandatory. Yours, -- Jean-Marc |