Path: utzoo!mnetor!uunet!mcrware!jejones From: jejones@mcrware.UUCP (James Jones) Newsgroups: comp.lang.misc Subject: Re: History of := (was: == vs =) Message-ID: <600@mcrware.UUCP> Date: 28 Jan 88 08:47:49 GMT References: <2337@haddock.ISC.COM> <51300003@uxe.cso.uiuc.edu> <715@PT.CS.CMU.EDU> Organization: Microware Systems Corp., Des Moines, Ia. Lines: 39 Summary: my life as an undergraduate (and how I saw functions defined) In article <715@PT.CS.CMU.EDU>, cef@H.GP.CS.CMU.EDU (Charles Fineman) writes: > I can not believe that someone has not quelled this discussion yet! > Perhaps the people who know better are to busy guffoughing (sp?) over > it. The terminology "a := b" means that a is "defined to be" b. For > example, let a be defined to b the mapping from a number to the of numbers > that are relatively prime to that number can be writting as (subistituting > the proper notation where appropriate): > > a(x) := {y Z+ | lcm(x,y)=1} I'm not sure whether it reflects on my, uh, alma mater, but I must admit to never having seen ":=" used this way. I've seen Russell & Whitehead's x = y Df They used dots rather than parentheses for grouping in *PM*, in the fashion, I think, of Peano. Could that be where this whole mess came up? There was also x =df y for infix purists. :=) However, what I would almost always see is either the straight equals sign "Let a(x) = etc." or the Bourbakioid "define a : Z+ -> P(Z+) [there's no script font on most terminals, so I can't use script capital P for "the power set of..."] by a : x |-> {y Z+ | gcd(x, y) = 1}" (where some texts, particularly number theoretical ones, would just say (x, y) for gcd (not lcm; I'm sure the original poster meant gcd)). Maybe I didn't hang out with the right crowd. :=) Let's all just have a good guffaw, recognize that human factors (other than wear and tear on typing fingers) had nothing to do with the choice of syntax for C (I scrupulously avoid the word "design" in this context), and hope that language designers will do better next time. James Jones