ALTRAN
{{Short description|Variant of the FORTRAN programming language}}
{{About|the FORTRAN extension|Altran Technologies, a consulting firm|Altran}}
{{Infobox programming language
| name = ALTRAN
| logo =
| caption =
| paradigm =
| year = 1965
| developer = Bell Telephone Laboratories
| latest_release_version =
| latest_release_date =
| latest_test_version =
| latest_test_date =
| turing-complete =
| typing =
| implementations =
| dialects =
| influenced_by = FORTRAN, PL/I
| influenced =
| operating_system =
| license =
| website =
| file_ext =
}}
ALTRAN (ALgebraic TRANslator) is a programming language for the formal manipulation of rational functions of several variables with integer coefficients. It was developed at Bell Labs in 1960s. ALTRAN is a FORTRAN version of ALPAK rational algebra package,{{cite book |last1=Tapley |first1=B.D. |last2=Szebehely |first2=V.G. |title=Recent Advances in Dynamical Astronomy |date=2012 |publisher=Springer Science & Business Media |isbn=978-94-010-2611-6 |page=364 |url=https://books.google.com/books?id=GNruCAAAQBAJ&pg=PA364 |accessdate=Sep 3, 2019}} and “can be thought of as a variant of FORTRAN with the addition of an extra declaration, the ‘algebraic’ type declaration.”{{cite book |last1=Geddes |first1=Keith O. |last2=Czapor |first2=Stephen R. |last3=Labahn |first3=George |title=Algorithms for Computer Algebra |date=2007 |publisher=Springer Science & Business Media |isbn=0-7923-9259-0 |page=4 |url=https://books.google.com/books?id=9fOUwkkRxT4C&pg=PA4 |accessdate=Sep 3, 2019}}
Although ALTRAN is written in ANSI FORTRAN, nevertheless there exist differences in FORTRAN implementations. ALTRAN handles machine dependencies through the use of a macro processor called M6.Hall, A.D., "The ALTRAN System for Rational Function Manipulation — A Survey". Communications of the ACM, 14(8):517–521 (August 1971).{{cite book |editor-last1=Brown |editor-first1=P.J. |title=Software Portability |date=1977 |publisher=Cambridge University Press |isbn=0-521-29725-7 |page=21 |url=https://books.google.com/books?id=5Ic6AAAAIAAJ&pg=PA21 |accessdate=Sep 3, 2019}}
ALTRAN should not be confused with the ALGOL to FORTRAN Translator, called Altran, that "converts Extended Algol programs into Fortran IV."{{cite web |last1=Wilner |first1=Wayne T. |title=ALGOL TO FORTRAN TRANSLATOR |url=https://www.slac.stanford.edu/vault/collvault/greylit/cgtm/CGTM15.pdf |website=slac.stanford.edu |accessdate=Sep 3, 2019}}
History
ALPAK, written in 1964, originally consisted of a set of subroutines for FORTRAN written in assembly language. These subroutines were themselves rewritten in FORTRAN for ALTRAN.{{cite book |last1=Lamagna |first1=Edmund A. |title=Computer Algebra: Concepts and Techniques |date=2019 |publisher=CRC Press |isbn=9781138093140 |page=12 |url=https://books.google.com/books?id=8PSDDwAAQBAJ&pg=PA12 |accessdate=Sep 3, 2019}}
An early version of ALTRAN was developed by M. Douglas McIlroy and W. Stanley Brown in the middle 1960s. However, soon after the completion of their ALTRAN translator, the IBM 7094 computers, on which ALPAK and ALTRAN were reliant, began to be phased out in favor of newer machines. This led to development of a more advanced ALTRAN language and implementation developed by Brown, Andrew D. Hall, Stephen C. Johnson, Dennis M. Ritchie, and Stuart I. Feldman, which was highly portable.{{cite web |url=http://cm.bell-labs.com/cm/cs/cstr/99.html |archive-url=https://archive.today/20140902215751/http://cm.bell-labs.com/cm/cs/cstr/99.html |url-status=dead |archive-date=September 2, 2014 |title=Computing Science Technical Report No. 99 – A History of Computing Research at Bell Laboratories (1937–1975) |first=Bernard D. |last=Holbrook |first2=W. Stanley |last2=Brown |publisher=Bell Labs |accessdate=February 2, 2020}}{{cite web
|url=https://www.landley.net/history/mirror/unix/dmr/firstport.html
|title=Unix Portability
|author1=Johnson, S. C.
|author2=Ritchie, D. M.
|date=1976
|quote=It is clear that the degree of portability promised [of Unix in C] cannot approach that of ALTRAN, for example, which can be brought up with a fortnight of effort by someone skilled in local conditions but ignorant of ALTRAN itself.}} The translator was implemented by Ritchie, the interpreter by Hall, the run-time rational function and polynomial routines by Feldman, Hall, and Johnson, and the I/O routines by Johnson.
Later, Feldman and Julia Ho added a rational expression evaluation package that generated accurate and efficient FORTRAN subroutines for the numerical evaluation of symbolic expressions produced by ALTRAN.
In 1979, ALTRAN was ported to the Control Data Corporation 6600 and Cyber 176 computers at the Air Force Weapons Laboratory. They found that "ALTRAN is about 15 times faster than FORMAC in a PL/I environment, and it is at least 12 times faster than REDUCE." It was also observed that ALTRAN was able to quickly solve problems which neither FORMAC nor REDUCE could handle on the given hardware or in reasonable time.{{cite web |last1=Rhoades, Jr. |first1=Cecil E. |title=AFWL Implementation of ALTRAN |url=https://apps.dtic.mil/dtic/tr/fulltext/u2/a073769.pdf |archive-url=https://web.archive.org/web/20190903162415/https://apps.dtic.mil/dtic/tr/fulltext/u2/a073769.pdf |url-status=live |archive-date=September 3, 2019 |website=dtic.mil |accessdate=Sep 3, 2019}}
Sample program
PROCEDURE MAIN # SIMPLE EXAMPLE OF USE OF FTNOUT
LONG ALGEBRAIC (X:10,Y:10) F
ALTRAN FTNOUT
OPTS(201,72) # FTNOUT REQUIRES A LINE LENGTH OF 72
F = EXPAND( (X+2*Y+1000000)**3 )
WRITE F # PRINT F
WRITE (25) " FUNCTION F(X,Y)"
"C EXAMPLE PROG WRITTEN WITH FTNOUT." ,
F ,
" RETURN"™, " END"
- WE HAVE WRITTEN A SIMPLE PROGRAM ON UNIT 25, NOW WE INVOKE FTNOUT TO
- THIS ALTRAN OUTPUT TO LEGAL FORTRAN.
FTNOUT
END
Operations
References
{{Reflist}}
- W.S. Brown, "A language and system for symbolic algebra on a digital computer", SYMSAC '66 Proceedings of the first ACM symposium on Symbolic and algebraic manipulation, p. 501- 540, January 1966.
- W.S. Brown, ALTRAN User's Manual (2nd ed.), Bell Laboratories, Murray Hill, N.J., 1972.
- W.S. Brown, ALTRAN User's Manual (3rd ed.), Bell Laboratories, Murray Hill, N.J., 1973.
- Stuart I. Feldman, "A brief description of Altran", ACM SIGSAM Bulletin, Volume 9 Issue 4, November 1975, p. 12 - 20.
- A.D. Hall and S.C. Johnson, "ALTRAN programs for SIGSAM problem #6", ACM SIGSAM Bulletin, Volume 8 Issue 2, May 1974, p. 12 - 36.
- Mansour Farah, "A FORMAL DESCRIPTION OF ALTRAN USING LINKED FOREST MANIPULATION SYSTEMS", Technical Report CS-73-08, University of Waterloo, April, 1973.
{{Computer algebra systems}}
Category:Computer-related introductions in 1968