Xref: utzoo comp.lang.misc:5235 comp.arch:17421 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!yale!cs.yale.edu!zenith-steven From: zenith-steven@cs.yale.edu (Steven Ericsson Zenith) Newsgroups: comp.lang.misc,comp.arch Subject: Re: He's not the only one at it again! Message-ID: <25684@cs.yale.edu> Date: 30 Jul 90 19:56:31 GMT References: <25630@cs.yale.edu> <58091@lanl.gov> <3478@goanna.cs.rmit.oz.au> <25681@cs.yale.edu> <1990Jul30.143530.24295@phri.nyu.edu> Sender: news@cs.yale.edu Reply-To: zenith-steven@cs.yale.edu (Steven Ericsson Zenith) Followup-To: comp.lang.misc Organization: Yale University Computer Science Dept., New Haven, CT 06520-2158 Lines: 37 Nntp-Posting-Host: king.systemsy.cs.yale.edu In article <1990Jul30.143530.24295@phri.nyu.edu>, roy@phri.nyu.edu (Roy Smith) writes: |>zenith-steven@cs.yale.edu (Steven Ericsson Zenith) writes: |>> The use of := distinguishes assignment from equality [...] and IMHO is a |>> much nicer solution to the C hack == used to ovecome the same problem. |> |> I agree that differentiating assignment from equality testing is |>good, but why is using {:=, =} (no, that's not some kind of overgrown |>smiley face!) any better or worse than using {=, ==}? One might argue that |>one is easier to type, or less likely to cause typos, or something like |>that, but to call C's version a hack seems like you're overreacting a bit. |>If you are going to invent a multi-ascii-character token for assignment, |>why not "<-"? Keyboard ease is a good pragmatic point. The principal objection to use of = as a symbol meaning assignment is that the symbol most commonly means equality outside of Computer Science. Things are complicated in C since, in that language, assignment is an expression. The main argument for := as an assignment operator is familiarity, since it is now widely used with this meaning. This symbol is used in Occam for that reason and also in Ease, although Ease extends its use to include allocation (the declaration and possible initialisation of variables). My objection to <- would be typographic. Fixed width font versions (widely used for program listing) make the visual distance between the < and dash exagerated. Functional languages often use -> (see ML, Haskell), and indeed Ease uses -> for type constraint. But I don't really like the visual distance between dash and >. The problem is born from a desire to maintain compatibility with the ASCII character set. -- Steven Ericsson Zenith * email: zenith@cs.yale.edu Fax: (203) 466 2768 | voice: (203) 432 1278 "The tower should warn the people not to believe in it." - P.D.Ouspensky Yale University Dept of Computer Science 51 Prospect St New Haven CT 06520 USA