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-Thread: 103376,ace3fca092a457cd X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,UTF8 Path: g2news2.google.com!news4.google.com!feeder3.cambrium.nl!feed.tweaknews.nl!212.27.60.9.MISMATCH!proxad.net!feeder2-2.proxad.net!newsfeed.arcor.de!newsspool1.arcor-online.net!news.arcor.de.POSTED!not-for-mail Newsgroups: comp.lang.ada Subject: Re: Unary operator after binary operator: legal or not? => Compiler Error From: Georg Bauhaus In-Reply-To: <2gmn4oyk4bfc$.1hnlf2lncqe1$.dlg@40tude.net> References: <1185901323.18398.4.camel@kartoffel> <46b03439$0$20992$9b4e6d93@newsspool1.arcor-online.net> <2gmn4oyk4bfc$.1hnlf2lncqe1$.dlg@40tude.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Message-Id: <1185960892.30576.63.camel@kartoffel> Mime-Version: 1.0 X-Mailer: Evolution 2.10.1 Date: Wed, 01 Aug 2007 11:34:52 +0200 Organization: Arcor NNTP-Posting-Date: 01 Aug 2007 11:34:11 CEST NNTP-Posting-Host: 3b753f0d.newsspool1.arcor-online.net X-Trace: DXC=d>GD@B\UG6c^Y=RbYBPl4`ic==]BZ:afn4Fo<]lROoRaFl8W>\BH3Yb5C4n`fXW4hhN[W On Wed, 2007-08-01 at 10:02 +0200, Dmitry A. Kazakov wrote: > On Wed, 01 Aug 2007 09:24:33 +0200, Georg Bauhaus wrote: >=20 > > Or perhaps Robert Dewar's suggestion to reserve one punctuation > > symbol not currently in the language for user defined operator > > overloading might help, like "$"? Or, since $ is used in some > > preprocessors, one symbol that is wisely picked from the set > > of symbols available in ISO 10646. Just one. >=20 > Huh, Georg, you were so happy about Unicode. Now you miss such an excelle= nt > opportunity to use the "advantages" of! There are whole lotta code > positions to grab. I vote for "voiceless central-plus-lateral alveolar > fricative" (U+02AA) for that purpose. A better choice might be something neutral, - A symbol that stands out and is easier to distinguish from other characters than ASCII '0' is from 'O'. - is not a currency symbol. - In a pinch, can be produced by a 9pin needle printer, and be distinguishable. - A symbol that is not mistaken for a display problem. - Also, it should be readily available on most contemporary workstations, terminals, or PCs.=20 - Other important qualities might be the amount of symmetry, - a lack of conventional meaning to avoid presumptions. - Perhaps the operator symbol should also be free from potential political issues deriving from symbolic associations. - The glyphs should have reasonably few "relatives" (we can live with 0 and O, 1 and l, so no silly pseudo-arguments about glyphs of character sets, please) - It will need to be stressed that everything that looks new will create well known reactions in stereotypical machine programmers just like in the stereotypical peasants. Both are always skeptical of the unknown almost by definition (Useless! Have been working without it for generations! -- Well, why Ada then, why generics, and why O-O? ;-) Examples: "=E2=97=86" Black Diamond "=E2=9A=AB" Medium black circle "=E2=8A=A1" Squared dot operator "=E2=8A=9A" Circled ring operator Note that none of these have been chosen from the set of widely used mathematical symbols. (Of course, someone _is_ using these symbols, would they exist otherwise.) A few example uses: X :=3D Y =E2=97=86 4; X :=3D =E2=97=86"All=C3=B4 !"; Black, bold, standing out, simple. (Unlike a white diamond, a black diamond does not look like anything else, even with reduced eye sight: In X :=3D Y =E2=97=87 4; the white diamond maybe does look like some other character.) X :=3D Y =E2=9A=AB 4; X :=3D =E2=9A=AB"All=C3=B4 !"; Similar. Needless to say, we already have '0' and 'O' and 'o' in Ada 83, so please avoid adding another white, empty circle. Instead, use two: X :=3D Y =E2=97=8E 4; X :=3D =E2=97=8E"All=C3=B4 !"; I prefer squares over circles because squares don't look like any other symbol of Ada (Ada does not have '[' and ']' brackets, so misunderstandings are unlikely): X :=3D Y =E2=8A=A1 4; X :=3D =E2=8A=A1"All=C3=B4 !"; Here is a counterexample that in my view doesn't seem to work well on all computers: "=E2=8C=98", the Place of interest sign. It might be displayed like a blurred 'x' or like a blurred multiplication symbol.