Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!news.glorb.com!news-out.readnews.com!news-xxxfer.readnews.com!news.misty.com!news.iecc.com!.POSTED!nerds-end From: glen herrmannsfeldt Newsgroups: comp.compilers Subject: Re: design of PL/I, was Is multi-level function return possible? Date: Fri, 21 Mar 2014 06:43:10 +0000 (UTC) Organization: Aioe.org NNTP Server Lines: 37 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <14-03-055@comp.compilers> References: <14-03-020@comp.compilers> <14-03-022@comp.compilers> <14-03-025@comp.compilers> <14-03-030@comp.compilers> <14-03-044@comp.compilers> <14-03-046@comp.compilers> <14-03-047@comp.compilers> <14-03-048@comp.compilers> <14-03-053@comp.compilers> <14-03-054@comp.compilers> NNTP-Posting-Host: news.iecc.com X-Trace: miucha.iecc.com 1395418891 42425 2001:470:1f07:1126:0:676f:7373:6970 (21 Mar 2014 16:21:31 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Fri, 21 Mar 2014 16:21:31 +0000 (UTC) Keywords: PL/I, history, comment Posted-Date: 21 Mar 2014 12:21:31 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:1177 (snip, I wrote) > As well as I understand it, the language was pretty well defined > before anyone tried writing a compiler for it. (snip) > [PL/I was, as I understand it, defined largely by glomming together > parts of Fortran and Cobol with some bits of Algol60. They assumed it > would be possible to implement since all of the pieces were, although > there turned out to be a lot of dark corners where things that seemed > reasonable individually weren't so reasonable in combination. -John] I know Fortran and ALGOL well enough from that time, but not COBOL. I only recently learned that COBOL only has 1D arrays, so that arrays of structures of arrays of ... are used instead. One feature of PL/I (F) that, as I understand it, complicated the implementation is multitasking. I don't know COBOL well enough to know if it was in there. Otherwise, even without dark corners things still get somewhat more complicated in combination. But also, it seems that they intentionally allowed the combinations of features to work together. When new features are added to Fortran (and many original PL/I features have now been added) they have restrictions on how they can be used in combination with other features. That complicates programming, as you have to be careful which features you use. On the other hand, there are more PL/I compilers than Fortran 2008 compilers. -- glen [None of the predecessor languages had any sort of multitasking. PL/I F had a lot of features that directly mapped on to OS/360 features, e.g. locate mode I/O, and multitasking was one of them. -John]