From: Rostyslaw J. Lewyckyj on
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
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
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
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
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