Deutsch English Français Italiano |
<vd527p$i6sg$4@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!feeds.phibee-telecom.net!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Lawrence D'Oliveiro <ldo@nz.invalid> Newsgroups: comp.os.linux.misc,alt.folklore.computers Subject: Re: The joy of FORTRAN Date: Fri, 27 Sep 2024 01:36:57 -0000 (UTC) Organization: A noiseless patient Spider Lines: 35 Message-ID: <vd527p$i6sg$4@dont-email.me> References: <pan$96411$d204da43$cc34bb91$1fe98651@linux.rocks> <5mqdnZuGq4lgwm_7nZ2dnZfqnPSdnZ2d@earthlink.com> <vcub5c$36h63$1@dont-email.me> <1r0e6u9.1tubjrt1kapeluN%snipeco.2@gmail.com> <vcuib9$37rge$5@dont-email.me> <vcvuhh$3hroa$2@dont-email.me> <llhieuF8ej2U2@mid.individual.net> <vd0uch$3lgc3$9@dont-email.me> <pDVIO.50851$2nv5.43199@fx39.iad> <vd3398$3j9t$1@dont-email.me> <vd3btv$503b$1@dont-email.me> <vd3e81$4fda$2@dont-email.me> <vd4h25$c3jf$6@dont-email.me> <vd5055$e8c6$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Fri, 27 Sep 2024 03:36:58 +0200 (CEST) Injection-Info: dont-email.me; posting-host="62b490d00f3035d741a9330a9ab78fbd"; logging-data="596880"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/+kFIWBTrccigKuC6kAZkU" User-Agent: Pan/0.160 (Toresk; ) Cancel-Lock: sha1:M8nYTIuOCuaJdwei1S4AtttM5GA= Bytes: 2857 On Thu, 26 Sep 2024 18:01:25 -0700, Lars Poulsen wrote: > On 26/09/2024 13:43, Lawrence D'Oliveiro wrote: > >> On Thu, 26 Sep 2024 11:49:37 +0100, Pancho wrote: >> >>> On 9/26/24 11:10, Lawrence D'Oliveiro wrote: >>>> >>>> On Thu, 26 Sep 2024 08:42:32 +0100, Pancho wrote: >>>> >>>>> ... a bitch to work out how to call Vax C from Vax Pascal, or vice >>>>> versa. >>>> >>>> Why would it be that hard? VAX C passed everything by value, while >>>> Pascal let you specify descriptors, references, immediate value ... >>>> all the options. >>> >>> There ware decisions to be made, like what order do you push variables >>> onto the stack, when do you push the return address, how to interpret >>> a Pascal String in C. >> >> All these things were standardized in the VAX/VMS ABI, right from the >> beginning. > > IIRC, VAX C did not completely follow the standard calling conventions, > which created some issues in mixed-language applications. Being C, you had to explicitly write code to follow those conventions, but the conventions were well-known. Looks like, unlike Pascal, DEC did not add convenience built-in functions to help you construct the right descriptors etc: you had to define these yourself. See “Programming in VAX C 1.0”, chapter 9, “Mixed-Language Programming” <https://bitsavers.trailing-edge.com/pdf/dec/vax/lang/c/AA-L370A-TE_Programming_in_VAX_C_1.0_198205.pdf>.