Path: utzoo!mnetor!uunet!yale!lisper-bjorn From: lisper-bjorn@CS.YALE.EDU (Bjorn Lisper) Newsgroups: comp.arch Subject: Re: FORTRAN Horror Message-ID: <25461@yale-celray.yale.UUCP> Date: 21 Mar 88 02:55:36 GMT References: <24861@yale-celray.yale.UUCP> <1135@pembina.UUCP> <2424@saturn.ucsc.edu> Sender: root@yale.UUCP Reply-To: lisper-bjorn@CS.YALE.EDU (Bjorn Lisper) Organization: Yale University Computer Science Dept, New Haven CT 06520-2158 Lines: 21 In article <2424@saturn.ucsc.edu> haynes@ucscc.UCSC.EDU (Jim Haynes) writes: >We have to keep in mind that FORTRAN was originally designed to >make it easier to program one architecture, the IBM 704 with up >to 4K of 36-bit memory. I believe the whole idea of a language >as a machine-independent way to program evolved later (correct/flame >me if I'm wrong). So getting the machine-dependent features out >of the language has been like pulling teeth. .... I've been told that arithmetic IF in FORTRAN, IF (E) L1,L2,L3 where E is an arithmetic expression and L1 - L3 are lines in the program to jump to dependent on the sign of E, translated, except for the evaluation of E, to one single instruction on that machine. The instruction repertoire of old IBM machines also had an impact on other "high-level" languages, like for instance LISP. CAR and CDR were apparently the names of instructions to access left and right halfword, respectively, on the IBM 7090. The CAR and CDR pointers were stored in halfwords in this manner in this LISP system. Bjorn Lisper