[comp.sys.apollo] FORTRAN 8X draft standard and HP/APOLLO

GELINASJ@CMR001.BITNET (01/18/90)

      Our library has received the proposed draft FORTRAN 8X standard.
In case you wonder what this new language is, let me say that i think
it tries to emulate APL on an ascii terminal from these examples,
where X is a vector and A is a matrix.

APL               FORTRAN 8X                            Meaning

+/x/[1]A        SUM(PRODUCT(A,DIM=1))           Sum of products
+/(X>0)/X       SUM(X, MASK=X>0)                Sum of positive elements
max/|X          MAXVAL( ABS(X) )                Maximum norm
+/|X            SUM( ABS(X) )                   1-norm
+/+/A           SUM( A )                        Sum of all elements
iota 6          (* I=1,6 *)                     Index vector 1 2 3 4 5 6

Maybe someone can answer these questions:

1. The FORTRAN 77 standard was ready in 1978. When did APOLLO
   have a full FORTRAN 77 compiler ready?

2. Some company representatives do not approve this draft standard.
   Does HP/APOLLO have a definite position on this ?

3. What are the plans of HP/APOLLO for the next 5 years concerning
   FORTRAN 8X ? (Obviously some standard -maybe de facto- will
   have emerged in 1995, and there will not be any choice then)

No need to rush your answers. But i am interrested anyhow.

J. GELINAS       gelinasj@cmr001.bitnet

khb@chiba.kbierman@sun.com (Keith Bierman - SPD Advanced Languages) (01/19/90)

In article <900118.00564701.063683@CMR.CP6> GELINASJ@CMR001.BITNET writes:

>	 Our library has received the proposed draft FORTRAN 8X standard.
>   In case you wonder what this new language is, let me say that i think
>   it tries to emulate APL on an ascii terminal from these examples,
>   where X is a vector and A is a matrix.

You have picked what many of us think is the least interesting part of
the language.

As a one time (and perhaps again) author of portable math libs, I
found that on the order of 90% user errors were tied to misusing
argument lists.

Fortran 90 (which is the formal name voted by X3J3 last week) offers
several features which will make it possible for providers of
libraries to make life much easier for users:

1)	Modules (allow packaging of related functions)
2)	Keyword argument passing (user code looks like OPEN, etc.)
3)	Dynamic memory allocation.
4)	Operator overloading. To see why this might be good, consider
        the following example of a deterministic update step from
	kalman filtering (say a real time navigation system or some
	such). We start out wanting to compute U := PHI*U
	Where U is upper triangular, and PHI is rectangular.

	f77

C	First we multiply rectangular phi times upper triangular
c       u, storing the result into W (one of the scratch arrays)
c
	call phiu(phi,maxm,m,n,u,some scratch arrays and other grodystuff)
c
c       Now we must re-triangularize W, storing it into U
c
	call wgsg(w,maxw,m,n,U,scratch area, stuff)

	Of course, a typical Kalman code will probably also have
	conditional logic for the common special cases, PHI upper
	triangular, PHI symmetric, PHI square ... as performance
        counts.

	f90

	PHI = PHI*U

	Which covers all cases. The code for the library writer isn't
	necessarily easier to write (probably a bit harder). But 
	every user's life is simpler.

	Of course, I would expect to craft the library so that
	the old code runs just fine (this isn't hard).
	
There is much more to the standard, but this is the sort of thing
which attracted me to it back in '85. The built in array notation
wouldn't have been helpful in my former life as a user and provider of
portable estimation library software.

   2. Some company representatives do not approve this draft standard.
      Does HP/APOLLO have a definite position on this ?

I don't know how HP voted last week. In the past, HP has voted yes and
has worked hard to make the standard real. 

   3. What are the plans of HP/APOLLO for the next 5 years concerning
      FORTRAN 8X ? (Obviously some standard -maybe de facto- will
      have emerged in 1995, and there will not be any choice then)

One would hope that HP's long standing participation in committee work
will translate into an early implementation (speaking as a alternate
delegate to x3j3 and a long time user of Fortran ---- as a Sun
employee I suppose we'd be better off if we beat them by a few years :>).

ANSI X3 (which is composed of folks other than x3j3, but with more
"global" authority) has chosen to retain X3.9-1978 as a standalone
standard. ISO's counterpart, WG5, has come down strongly against this
US action. ISO wants a standard Real Soon. X3J3 is working hard to
finish off the document so at least there will be a World standard. It
is hoped that the US action will not retard the process (by the
majority of the committee which voted the document out for review :>).

Those with a strong interest can sign up to be Observers (or become
actual delegates). I don't have the information handy, but the cost is
less than $200 (+ travel to come to meetings if one wants to be part
of the process).

Those interested can contact me directly.


--
Keith H. Bierman    |*My thoughts are my own. !! kbierman@sun.com
It's Not My Fault   |	MTS --Only my work belongs to Sun* 
I Voted for Bill &  | Advanced Languages/Floating Point Group            
Opus                | "When the going gets Weird .. the Weird turn PRO"

"There is NO defense against the attack of the KILLER MICROS!"
			Eugene Brooks