From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,a00006d3c4735d70 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-01-30 15:25:38 PST Path: archiver1.google.com!news2.google.com!fu-berlin.de!cs.tu-berlin.de!uni-duisburg.de!not-for-mail From: Georg Bauhaus Newsgroups: comp.lang.ada Subject: Re: In-Out Parameters for functions Date: Fri, 30 Jan 2004 23:25:37 +0000 (UTC) Organization: GMUGHDU Message-ID: References: <1075303237.975898@master.nyc.kbcfp.com> <9khh10pti0dn8gcp7f18ghptaifluj0fud@4ax.com> <1075390647.405841@master.nyc.kbcfp.com> <1075405582.982776@master.nyc.kbcfp.com> <1075412213.447946@master.nyc.kbcfp.com> <1075486459.94310@master.nyc.kbcfp.com> <1075495888.42130@master.nyc.kbcfp.com> NNTP-Posting-Host: l1-hrz.uni-duisburg.de X-Trace: a1-hrz.uni-duisburg.de 1075505137 12066 134.91.1.34 (30 Jan 2004 23:25:37 GMT) X-Complaints-To: usenet@news.uni-duisburg.de NNTP-Posting-Date: Fri, 30 Jan 2004 23:25:37 +0000 (UTC) User-Agent: tin/1.5.8-20010221 ("Blue Water") (UNIX) (HP-UX/B.11.00 (9000/800)) Xref: archiver1.google.com comp.lang.ada:5127 Date: 2004-01-30T23:25:37+00:00 List-Id: Hyman Rosen wrote: : Georg Bauhaus wrote: :> People coming from the substitution model of programming... :> I'm only trying to see how this could make sense. : : I'm trying to see how someone could believe that fixing an order of : evaluation doesn't make sense. Of what use is arbitrariness to the : semantics of the language? I had people in mind, not just programming languages. You might say it makes sense to adapt one's reasoning to the requirements of a programmaing language/style etc. For predicting properties of object code this might be necessary in addition to checking. However, do you define or design high level languages to just produce object code in a systematic manner or is there more to it? Like expressiveness, dealing well with what people (not: Scheme fans, Ada fans, APL fans) usually do when writing programs? Languages that suggest ways of commanding a computer to "execute an idea"? In the substitution model you don't have to worry about the order of evaluation, that is, you reduce complexity. However, the world has state, and no rollback, so the substitution model may not work. Consequence: In the presence of time dependence, learn to "think from left to right" in addition to down the sequence of instructions. Alternative consequence: In the presence of time dependence, if you want a specific order of elaboration, say so in the direction of declarations and statements, but not when it comes to "inputs" to "value creating items". (I admit that this is somewhat artificial.) If you say that the idea of substitution should not be a guideline when variables can have changing values, you might want order of evaluation to imply consistency with western wrinting direction in all respects. I.e. I am weighting other aspects of source code constructs less, like "a collection of inputs to a function where each input is named" --conceptually the order of association is an addon necessitated by that nasty time dependent statefulness of the world in case there are globals or inputs or side effects.