I wonder if specifying this leads to compilers doing (optimised) tail-recursion - where appropriate.
Cheers, Martin Martin Packer zChampion, Systems Investigator & Performance Troubleshooter, IBM +44-7802-245-584 email: martin_pac...@uk.ibm.com Twitter / Facebook IDs: MartinPacker Blog: https://www.ibm.com/developerworks/mydeveloperworks/blogs/MartinPacker Podcast Series (With Marna Walle): https://developer.ibm.com/tv/mpt/ or https://itunes.apple.com/gb/podcast/mainframe-performance-topics/id1127943573?mt=2 Youtube channel: https://www.youtube.com/channel/UCu_65HaYgksbF6Q8SQ4oOvA From: David Crayford <dcrayf...@gmail.com> To: IBM-MAIN@LISTSERV.UA.EDU Date: 08/04/2020 09:38 Subject: [EXTERNAL] Re: Why rip out COBOL when you can modernize key applications? - Weirdware Sent by: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> *RECURSIVE* An optional clause that allows COBOL programs to be recursively reentered. You can specify the RECURSIVE clause only on the outermost program of a compilation unit. Recursive programs cannot contain nested subprograms. If the RECURSIVE clause is specified, program-name can be recursively reentered while a previous invocation is still active. If the RECURSIVE clause is not specified, an active program cannot be recursively reentered. On 2020-04-08 4:09 PM, Mike Schwab wrote: > PROGRAM-ID pgmname RECURSIVE. > > https://www.ibm.com/support/knowledgecenter/en/SS6SG3_4.2.0/com.ibm.entcobol.doc_4.2/PGandLR/tasks/tpsubw03.htm > > On Tue, Apr 7, 2020 at 9:47 PM Seymour J Metz <sme...@gmu.edu> wrote: >> Maybe,but there's nothing in his example to suggest that COBOL supports recursion; you'd have to check the documentation. >> >> >> -- >> Shmuel (Seymour J.) Metz >> https://urldefense.proofpoint.com/v2/url?u=http-3A__mason.gmu.edu_-7Esmetz3&d=DwICaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=BsPGKdq7-Vl8MW2-WOWZjlZ0NwmcFSpQCLphNznBSDQ&m=vApB8Pw9Cu4OwyYrwyWnJybkrmVmizS30iIud0_La7E&s=_ADEInxU_xV_FnsM-OM-2gGrrNOmBgyVWSRzVJfZkSw&e= >> >> ________________________________________ >> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of David Crayford [dcrayf...@gmail.com] >> Sent: Tuesday, April 7, 2020 9:44 PM >> To: IBM-MAIN@LISTSERV.UA.EDU >> Subject: Re: Why rip out COBOL when you can modernize key applications? - Weirdware >> >> Wow, and some people criticize Java for being verbose! >> >> So using nested programs one can implement recursion in COBOL which you >> couldn't do before without using a table stack. >> >> On 2020-04-08 5:14 AM, Frank Swarbrick wrote: >>> Nested subroutines. >>> >>> Small example: >>> >>> ID DIVISION. >>> PROGRAM-NAME. MAINPROG. >>> [...] >>> PROCEDURE DIVISION. >>> CALL 'NESTED-PROGRAM-1' >>> GOBACK. >>> >>> ID DIVISION. >>> PROGRAM-ID. NESTED-PROGRAM-1. >>> DATA DIVISION. >>> WORKING-STORAGE SECTION. >>> 01 LOCAL-VAR-1 PIC X. >>> [...] >>> PROCEDURE DIVISION. >>> DISPLAY 'IN NESTED-PROGRAM-1' >>> GOBACK. >>> >>> END PROGRAM NESTED-PROGRAM-1. >>> >>> END PROGRAM MAINPROG. >>> >>> ________________________________ >>> From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> on behalf of David Spiegel <dspiegel...@hotmail.com> >>> Sent: Tuesday, April 7, 2020 2:58 PM >>> To: IBM-MAIN@LISTSERV.UA.EDU <IBM-MAIN@LISTSERV.UA.EDU> >>> Subject: Re: Why rip out COBOL when you can modernize key applications? - Weirdware >>> >>> Hi Frank, >>> Thank you for that information. >>> (All the COBOL I support(ed) didn't contain these and neither did my >>> university courses in the '70s.) >>> >>> If I wanted to look them up, which keyword(s) would I use? >>> >>> Thanks and regards, >>> David >>> >>> On 2020-04-07 15:49, Frank Swarbrick wrote: >>>> Internal subroutines and local variables have been supported since COBOL 1985 (VS COBOL II era). >>>> They're not ideal, but they do exist. >>>> >>>> ________________________________ >>>> From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> on behalf of David Spiegel <dspiegel...@hotmail.com> >>>> Sent: Tuesday, April 7, 2020 12:58 PM >>>> To: IBM-MAIN@LISTSERV.UA.EDU <IBM-MAIN@LISTSERV.UA.EDU> >>>> Subject: Re: Why rip out COBOL when you can modernize key applications? - Weirdware >>>> >>>> How about no internal subroutines with local variables? >>>> >>>> On 2020-04-07 14:47, Bob Bridges wrote: >>>>> I used to bad-mouth COBOL, and I still prefer languages that are less wordy. But I came somewhat reluctantly to see that it has its strengths. The one I think most important is that it encourages even novice programmers to organize their logic in what we used to call a "top-down" manner: This paragraph accomplish a certain task by executing paragraphs one through three, then two more, and this subparagraph executes subsubparagraphs, and so on. Forms good habits, I think. >>>>> >>>>> --- >>>>> Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313 >>>>> >>>>> /* My life is in the hands of any fool who can make me lose my temper. -driving motto */ >>>>> >>>>> -----Original Message----- >>>>> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU ] On Behalf Of scott Ford >>>>> Sent: Tuesday, April 7, 2020 12:55 >>>>> >>>>> I learned Assembler first and then Cobol and then some PL/1. I always felt each language had its strengths and weaknesses and all were like tools in a toolbox. >>>>> >>>>> ---------------------------------------------------------------------- >>>>> For IBM-MAIN subscribe / signoff / archive access instructions, >>>>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN >>>>> . >>>> ---------------------------------------------------------------------- >>>> For IBM-MAIN subscribe / signoff / archive access instructions, >>>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN >>>> >>>> ---------------------------------------------------------------------- >>>> For IBM-MAIN subscribe / signoff / archive access instructions, >>>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN >>>> . >>> ---------------------------------------------------------------------- >>> For IBM-MAIN subscribe / signoff / archive access instructions, >>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN >>> >>> ---------------------------------------------------------------------- >>> For IBM-MAIN subscribe / signoff / archive access instructions, >>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN >> ---------------------------------------------------------------------- >> For IBM-MAIN subscribe / signoff / archive access instructions, >> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN >> >> ---------------------------------------------------------------------- >> For IBM-MAIN subscribe / signoff / archive access instructions, >> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN