Path: utzoo!attcan!uunet!oddjob!uwvax!vanvleck!uwmcsd1!leah!itsgw!sun.soe.clarkson.edu!batcomputer!cornell!uw-beaver!tektronix!teklds!daniels From: daniels@teklds.TEK.COM (Scott Daniels) Newsgroups: comp.std.c Subject: Re: Trigraphs. Summary: A reason for trigraphs Keywords: trigraph Message-ID: <3603@teklds.TEK.COM> Date: 17 Jun 88 02:35:21 GMT References: <19345@watmath.waterloo.edu> Reply-To: daniels@teklds.UUCP (Scott Daniels) Followup-To: comp.std.c Distribution: comp Organization: Tektronix, Inc., Beaverton, OR. Lines: 22 I was at the meeting in which trigraphs first came in, and the reason I voted for them is fairly simple. They were not presented as a means for people who actually wrote C source to deal with missing characters, but as a means for mechanical translators to pass un-encodable characters. The setup I imagine actually being used is: Programmers in ??land whose national character set uses { for the all-important qz ligature (and who write comments using this a lot) happen to have a graphic on the $ character which looks just fine as an open brace. The programmers code away in this format locally, and (having hacked their C compiler) everything works out. When they decide to port their code to another country, they can mechanically translate those chars to the proper trigraph, and thus (1) mail source code, and (2) rely on the destination to use their best guess for those characters. It was considered a great advantage by many that the trigraphs chosen were ugly: this meant that nobody would be tempted to write with them, they were only for mechanical translations (a sort of least-common- denominator format). Scott Daniels (I was only briefly on the committee, another startup died) -daniels@teklds.TEK.COM (or @teklds.UUCP)