Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2.fluke 9/24/84; site vax2.fluke.UUCP
Path: utzoo!linus!philabs!prls!amdimage!amdcad!decwrl!decvax!harpo!whuxlm!whuxl!houxm!vax135!cornell!uw-beaver!fluke!kurt
From: kurt@fluke.UUCP (Kurt Guntheroth)
Newsgroups: net.lang
Subject: Re: Reading programs left-to-right.
Message-ID: <891@vax2.fluke.UUCP>
Date: Tue, 13-Aug-85 13:56:13 EDT
Article-I.D.: vax2.891
Posted: Tue Aug 13 13:56:13 1985
Date-Received: Tue, 20-Aug-85 03:09:24 EDT
References: <6571@boring.UUCP>
Organization: John Fluke Mfg. Co., Inc., Everett, WA
Lines: 28

I once wrote a language in which assignment went left-to-right.  I had also
noticed that most constructs go left-to-right and wanted the language to be
totally consistent.

WHAT A MISTAKE!!!!  There were basically two problems.  The first was that I
had to re-learn how to write assignments.  Every time I wrote a program, I
had at least one syntax error result from doing my assignments backwards.
The second problem was that the targets of the assignments (the interesting
part) didn't line up on the page.  Look at

    a = 0
    b = Z[i,j,k] + C[i,j,l]
    c = -b/2ac

and now (I change only the assignment operator and direction and) look at

    0 -> z
    Z[i,j,k] + C[i,j,l] -> b
    -b/2ac -> c

See?  This is simply a case in which you want to go right-to-left.  By the
way, code generation wasn't significantly easier, and if you parse to trees,
there is no difference at all.

-- 
Kurt Guntheroth
John Fluke Mfg. Co., Inc.
{uw-beaver,decvax!microsof,ucbvax!lbl-csam,allegra,ssc-vax}!fluke!kurt