Not, trying to discourage anyone from messing with simh and one of the old
UNIX systems - looking at the past. But to be honest at this stage of the
game there is nothing in EFL that I know of that modern Fortran can not
do. And if you want to see how the world has progressed since F4, and you
have a Mac, Linux or Windows box -- the entire Intel compiler suite,
including their Fortran 2018 compatible system can be downloaded for free
-- Intel OneAPI HPC Toolkit Download
<https://www.intel.com/content/www/us/en/developer/tools/oneapi/hpc-toolkit-download.html.>
This is the compiler many (most) supercomputer codes use - why is a good
COFF discussion ;-)
For the youngsters that never saw it, is a piece of F4 code [the Intel
compiler can still gork it BTW], which we call the 'Eklund Test' as Dave
Eklund was Mr. Fixed format for both DEC and Intel starting in the early
1970s until he retired 5 years ago [note Dave did not write this - came
from Europe but is now part of the Intel compiler test suite].
C This FORTRAN program may be compiled and run on a Norsk Data
C computer running SINTRAN and the FTN compiler. It uses only
C FORTRAN reserved words, and contains just one numerical
C constant, in a character string (a format specifier). When
C you run it, it prints a well known mathematical construct...
C
C Even FORTRAN is a block structured programming language:
C
PROGRAM
;PROGRAM;INTEGERIF,INTEGER,GOTO,IMPLICIT;REALREAL,DIMENSION,EXTERNA
AL,FORMAT,END;INTEGERLOGICAL;REALCOMPLEX,DATA,CALL,ASSIGN,CHARACTER
R;DOFORIF=INTEGER,INTEGER;ENDDO;INTEGER=IF+IF;GOTO=INTEGER*INTEGER*
*INTEGER*INTEGER-INTEGER-IF;CALLFUNCTION(IMPLICIT,REAL,DIMENSION,EX
XTERNAL,FORMAT,END,LOGICAL,COMPLEX,DATA,CALL,ASSIGN,CHARACTER);CALL
LSUBROUTINE(IMPLICIT,LOGICAL,GOTO,IF,INTEGER);END;SUBROUTINEFUNCTIO
ON(IMPLICIT,REAL,DIMENSION,EXTERNAL,FORMAT,END,LOGICAL,COMPLEX,DATA
A,CALL,ASSIGN,CHARACTER);RETURN;END;SUBROUTINESUBROUTINE(IMPLICIT,L
LOGICAL,GOTO,IF,INTEGER);INTEGERGOTO,IMPLICIT(GOTO),LOGICAL(GOTO),I
IF,INTEGER,EXTERNAL,RETURN;DOFOREXTERNAL=IF,GOTO;DOFORRETURN=INTEGE
ER,EXTERNAL-IF;IMPLICIT(RETURN)=LOGICAL(RETURN)+LOGICAL(RETURN-IF);
;ENDDO;IMPLICIT(IF)=IF;IMPLICIT(EXTERNAL)=IF;DOFORRETURN=IF,GOTO-EX
XTERNAL;WRITE(IF,'(''$
'')');ENDDO;DOFORRETURN=IF,EXTERNAL;WRITE(I
IF,'(''$''I4)')IMPLICIT(RETURN);ENDDO;WRITE(IF,'(
/)');DOFORRETURN=
=IF,GOTO;LOGICAL(RETURN)=IMPLICIT(RETURN);ENDDO;ENDDO;END
On Thu, Dec 16, 2021 at 12:57 PM Tom Manos <tom.manos(a)gmail.com> wrote:
I'm late to the party here. Although I'm a
gray hair, I didn't start using
UNIX until the early '80s, and though I've seen, and been curious about
efl, I've never used it. Fortran 4 was my first high-level language in
college in the '70s.
That said, I do remember efl being on an early PC based UNIX - Microport
SVR2. On later Microport UNIXen it was gone, but I can't remember whether
it disappeared on SVR3 or 4.
I currently play with 4.3BSD Quasijarus system on simh, which has efl.
What a fun system to play with! Maybe I'll give efl a try if I can find
enough docs to grok it.
Tom
----
Tom Manos
KO4ENQ
On Wed, Dec 15, 2021 at 3:49 AM <arnold(a)skeeve.com> wrote:
Hi TUHS folks!
After having reincarnated ratfor, I am wondering about Stuart Feldman's
efl (extended fortran language). It was a real compiler that let you
define structs, and generated more or less readable Fortran code.
I have the impression that it was pretty cool, but that it just didn't
catch on. So:
- Did anyone here ever use it personally?
- Is my impression that it didn't catch on correct? Or am I ignorant?
Thoughts etc. welcome. :-)
Thanks,
Arnold