Path: csiph.com!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: "Robin Vowels" Newsgroups: comp.compilers Subject: Re: Language design after Algol 60 Date: Wed, 18 Apr 2018 14:58:31 +1000 Organization: Compilers Central Lines: 34 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <18-04-076@comp.compilers> References: <49854345-f940-e82a-5c35-35078c4189d5@gkc.org.uk> <18-03-103@comp.compilers> <18-03-042@comp.compilers> <18-03-047@comp.compilers> <18-03-075@comp.compilers> <18-03-079@comp.compilers> <18-03-101@comp.compilers> <18-04-002@comp.compilers> <18-04-003@comp.compilers> <18-04-004@comp.compilers> <18-04-024@comp.compilers> <18-04-034@comp.compilers> <18-04-041@comp.compilers> <18-04-046@comp.compilers> <18-04-050@comp.compilers> <18-04-063@comp.compilers> <18-04-064@comp.compilers> <18-04-074@comp.compilers> <18-04-075@comp.compilers> Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=response Content-Transfer-Encoding: 8bit Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="90540"; mail-complaints-to="abuse@iecc.com" Keywords: PL/I, history, comment Posted-Date: 19 Apr 2018 01:19:20 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:2085 From John Levine Sent: Monday, April 16, 2018 10:56 PM > [Perhaps he meant that it was impossible for *him* to master the language. > It does have some odd rough edges, e.g., give or take my recollection of > the syntax: > DCL (A,B,C) CHAR(3); > A = '123'; > B = '456'; > C = A+B; > What does C contain? Answer: three spaces. -John] No. IBM's PL/I for Windows compiler produces two diagnostics: 1: at compilation time, at line 6 [your line 4]: (6:1) : IBM1211I W Source in string assignment is longer than the target C. 2. At execution time, a fatal error at the assignment C = A+B : IBM0441I ONCODE=0150 The STRINGSIZE condition was raised. At offset +0000016B in procedure with entry L Character variables were not really intended for doing decimal arithmetic, though conversions from character to decimal are more-or-less common. I'm not sure whether a compiler warning message would have been produced in the 1960s with the PL/I F-compiler, but am fairly certain that there would have been no run-time error. [I got the three spaces in PL/I F. I dimly recall that if I turned on optimization, it'd do constant substitution and just move the three spaces into C. Nice to hear that they warn you off this design error now. -John]