I found the article to be clear. Unfortunately, it is also wrong, and I've added a comment to the talk page.
-- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Assembler List <ASSEMBLER-LIST@listserv.uga.edu> on behalf of Richard Kuebbing <rkueb...@tsys.com> Sent: Friday, February 9, 2018 4:34 PM To: ASSEMBLER-LIST@listserv.uga.edu Subject: Re: Man or boy test I read this wiki entry https://secure-web.cisco.com/1kPC9hVlnDns0kQ4E8YhzjeyrGrjsxx-pbcZ2BO4WYCa4nL5V46eAjnQxYuNO0h_k-V3mTJzxiv04F6Ii2T2oMDkHkEH_wHP0AU2_H5VIHaIIqcFNhX4XXLmtyNzQjyRCL164DIgkupzU5w1U-cYMEGsz8ItSFaNPG-h4aMmR8MUxDbsRs8yT5UJYNax_xzdbkXfMlYtzx1NXeY6FlQSSOfvikXi4UzXAggpn1XpSqXXOnc4EUKLZxBBDp46tWSSQE9lr07yunSKHWyn4G1iN1oURKfi2Ag8eP87CRNtr1iCb5oaC8zJeqvZt_S6oTXjZBOfOP6esTAImuVfHQdCFSMgF5cs7VA8N6hsQNsxKF_DgZVMHxDdvC3XaxmZrqtn3QGYuMxyIqED47RTjiTJIuR7j7_fZk9XB6gJB4G8lx-f-BHJYCIbb6ze6b0LIPf75/https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FEvaluation_strategy and it is clear as mud. I think I have led a sheltered life. As an aside, I followed the OOP discussion. The session manager (TPX) I worked on had a kind of OOP. It had a stack for each thread, the htreads were interruptible (conversational), you pushed objects onto the stack, methods used the stack to evaluate a host of variables (originaly about 1000, later over 2000), the opsys storage was the zero level of the stack, each task was a server sending and receiving messages from everyone, including VTAM via exits, there was a timer task used for scheduling.... And it was easier programming that in assembler than CICS using Cobol. It had a client server piece in the form of an emulator. It had the potential of being a pipeline between the host and the client. But noone had to foresight to allow it. And then we were bought by CA. Intense nostalgia. -----Original Message----- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Charles Mills Sent: Friday, February 09, 2018 4:23 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Man or boy test As I understand it, call-by-name means the following: Suppose for example if you coded a subroutine that expected some sort of parameter, and called it with a random number function, the random number function would (in most languages) get evaluated once before your subroutine was called, and your subroutine would see it as a constant. If you printed it three times in a loop it would be the same all three times. With call-by-name, 'RAND()' (or whatever) would not get evaluated by the caller but rather passed to your subroutine "as-is." It would get evaluated whenever your subroutine referenced it. If you printed it three times in a loop you would get three different values. It's not really "call by name" but rather "call with function" as opposed to "call with value of function." Charles ----------------------------------------- The information contained in this communication (including any attachments hereto) is confidential and is intended solely for the personal and confidential use of the individual or entity to whom it is addressed. The information may also constitute a legally privileged confidential communication. If the reader of this message is not the intended recipient or an agent responsible for delivering it to the intended recipient, you are hereby notified that you have received this communication in error and that any review, dissemination, copying, or unauthorized use of this information, or the taking of any action in reliance on the contents of this information is strictly prohibited. If you have received this communication in error, please notify us immediately by e-mail, and delete the original message. Thank you