From J.L.Schonfelder@liverpool.ac.uk Thu Mar  2 13:00:15 1995
Received: from mailhub.liverpool.ac.uk ([138.253.100.84]) by dkuug.dk with SMTP id AA05719
  (5.65c8/IDA-1.4.4j for <SC22WG5@dkuug.dk>); Thu, 2 Mar 1995 17:46:29 +0100
Received: from pop.liv.ac.uk by mail.liv.ac.uk with SMTP (PP);
          Thu, 2 Mar 1995 16:32:05 +0000
Date: Thu, 2 Mar 1995 13:00:15 GMT
From: Lawrie Schonfelder <J.L.Schonfelder@liverpool.ac.uk>
Subject: Interoperability
To: SC22WG5@dkuug.dk
Message-Id: <ECS9503021315F@liv.ac.uk>
Priority: Normal
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
X-Charset: ASCII
X-Char-Esc: 29

I would like to add my penny worth to the note from Keith and Jerry.
I am in broad agreement with the thrust of both. In todays world the only 
interoperability that matters is cross calling with C. 
Unfortunately in developing standards you are actually building something for 
tomorrows world and C may not be the only candidate in 2004 which is the 
operative date for F2000 processors.
However my crystal ball is as always very cloudy when I try to look out as far 
as 2004. 
The question I want to ask is what will the operating environments in 2004 be 
like? What will they have been written in? At what level will an 
end-user/application developer using Fortran need to interact with them.
I will stick my neck out and make a guess. By 2004 we will be looking at a 
couple (fewer than now) flavours of operating environments derived from unix and 
x-windows/motif etc., and a mass market desktop environment derived from the 
MSDOS/Windows stable. I am sorry if I upset any of my friends in other camps but 
I fear that this is what my fortune cookie fortells. I think both of these 
environments will still work via GUIs built from DLLs with an interface derived 
from C. It may have an OO overlay but the fundamentals will still be C like. (I 
am betting that C++ as such is not going to take over the world although some of 
its concepts will become part of the defacto C that is actually used).
We therefore need to provide a mechanism for Fortran programmers to interwork 
with the C like interface defining these two APIs.
I do not see it as our job to actually try to standardise a Fortran interface to 
either of these APIs as such, but we need to define the syntax and semantics of 
the Fortran language necessary for some other group/vendor to produce such an 
API binding.
I believe this is likely to be a moving target. We therefore probably need to 
define (RAPIDLY) a minimal interfacing capability for a suitably constrained 
subset of Fortran to a suitably constrained subset of current C. This should be 
issued as another Fortran familly of standards part or an addendum. This should 
then be updated whenever:
a. C language changes in ways that make revision necessary/desirable.
b. Fortran "    "      "       "      "     "         "
c. we develop additional pieces of the interface for which the interoperability 
functionality can be defined.
WE should be able to update such a document more rapidly than is possible for a 
full language standard and we should get the first version out well before 2000.

To be more specific. I think rather than fall into the CLIx trap we should 
produce a first draft that involves only those datatypes that do have clear 
representation in both languages and we should avoid trying to define mappings 
for the union of both langages type sets.
Jerry's suggestion of using the interface block and the HPF extrinsic concept 
has considerable merit.

I hope we will make time in Tokyo to discuss this question (Miles Please!)


--
Dr.J.L.Schonfelder
Director, Computing Services Dept.
The University of Liverpool, UK
e-mail J.L.Schonfelder@liv.ac.uk
phone: +44(51)794-3716
fax:   +44(51)794-3759



